21294 Posts in 5734 Topics by 2602 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 253 Views |
-
How to remove protocol and host in template

21 June 2012 at 1:35pm Last edited: 21 June 2012 1:35pm
Does anyone know how to prevent silverstripe (2.4) outputting the protocol and host when linking to internal assets etc?
In the markup I am getting:
<script type="text/javascript" src="http://my.exampledomain.com/mysite/app/router.js?m=1340064453"></script>
and I want just:
<script type="text/javascript" src="/mysite/app/router.js?m=1340064453"></script>
The reason is that requests are going through a proxy so requests to https://localhost:8000/ are being proxied to http://my.exampledomain.com/ so I don't want http://my.exampledomain.com/ in the markup.
I've had a look around in Director and tried a few things including:
Director::setBaseURL('/');
Any ideas?
-
Re: How to remove protocol and host in template

21 June 2012 at 10:21pm
Taking a look at the code it looks like this is hard coded to being absolute. In the Requirements_Backend::path_for_file() class you would need to replace the prefixed value. Patches welcome to make this more accessible.
-
Re: How to remove protocol and host in template

22 June 2012 at 9:54am
Thanks for looking at it. I ended up modifying the path_for_file function in core/Requirements.php as follows:
// $prefix = Director::absoluteBaseURL();
$prefix = Director::baseURL();I would rather not have modified the framework and I guess I was looking for a javascripty way of overriding the function but it doesn't seem like PHP works this way from what I can see.
| 253 Views | ||
|
Page:
1
|
Go to Top |


