PHP если URL равен этому, выполните действие
поэтому у меня есть заголовок страницы, который является частью шаблона Magento; я хотел бы, чтобы он отображал 1 из 2 вариантов, в зависимости от того, что такое URL. Если URL-адрес является опцией 1, отобразите Заголовок 1. Если URL-адрес-это что-то еще, отобразите Заголовок 2. Это то, что я придумал, но это делает мою страницу крахом:
<div class="page-title">
<h1><?php
$host = parse_url($domain, PHP_URL_HOST);
if($host == 'http://domain.com/customer/account/create/?student=1') {
echo $this->__('Create an account if you are a Post Graduate Endodontic Resident and receive our resident pricing. Please fill in all required fields. Thank you!')
}
else
{
echo $this->__('Create an Account')
}
?></h1>
</div>
у кого-нибудь есть идеи?
EDIT: так это должно выглядеть так?
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host == 'http://domain.com/customer/account/create/?student=1')
3 ответов
вы ищете URL-адрес, на котором в настоящее время находится страница? Вы используете parse_url неправильный путь; то есть, если вы хотите получить только хост или домен, то есть только "dev.obtura.com". Похоже, ты хочешь большего. Кроме того, вы никогда не установка $domain
переменная, so parse_url()
не знает, что с ним делать. Так как это сейчас, ваш if
оператор всегда будет возвращать "создать учетную запись".
вместо этого установите $host
С в$_SERVER переменные:
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
Вам также нужно будет удалить "http: / /" из проверки - $host
будет содержать только все после "http://"
As Арон Cederholm предложил, вам нужно добавить точки с запятой (;
) до конца ваших заявлений echo.
Итак, ваш PHP-код должен выглядеть так:
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host == 'domain.com/customer/account/create/?student=1')
{
echo $this->__('Create an account if you are a Post Graduate Endodontic Resident and receive our resident pricing. Please fill in all required fields. Thank you!');
}
else
{
echo $this->__('Create an Account');
}
Я не уверен, что вы правильно выбираете домен. Я не очень понимаю parse_url, и вы не показали нам, что $domain
определяется как.
обычно, если я хочу получить доменное имя, я бы сделал это:$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']
затем остальная часть кода.
что если, другое утверждение кажется мне законным, поэтому я попробую выше и посмотрю, как это происходит. ;)
Edit:ой, Джон опередил меня. :)
вы должны добавить точки с запятой в свои операторы внутри вашего if-else.
if($host == 'http://dev.obtura.com/customer/account/create/?student=1') {
echo $this->__('Create an account if you are a Post Graduate Endodontic Resident and receive our resident pricing. Please fill in all required fields. Thank you!');
}
else
{
echo $this->__('Create an Account');
}