Следующий код работает в Joomla 1.6, но он выдает ошибку строгих стандартов в 3.x:
Строгие стандарты: только переменные должны быть назначены по ссылке
//Get the full URL for sharing purposes
$uri = & JFactory::getURI();
$absolute_url = $uri->toString();
<?php echo $absolute_url; ?>
Как заставить код работать без ошибок в Joomla 3.x?
JUri::current()
поскольку он не будет возвращать какие-либо параметры запроса. Просто используйте то , что описано в общепринятом ответ ниже: joomla.stackexchange.com/a/4295/168Ответы:
ОБНОВИТЬ
Ответ на главный вопрос таков: JFactory :: getUri () устарела, используйте JUri напрямую следующим образом:
Strict Standards ошибка из-за
&
до тогоJFactory::getURI();
. Вы можете найти больше информации об этом ниже.ОРИГИНАЛЬНЫЙ ОТВЕТ
Удалить &
В PHP5
new
оператор автоматически возвращает ссылку, поэтому «&» больше не нужен.Из официального руководства по PHP:
источник: http://php.net/manual/en/language.operators.assignment.php
источник
Согласно руководству по Joomla , вы можете получить текущий URL с помощью этой функции:
источник
ОБНОВЛЕНИЕ:
JUri
теперь также устарело. Теперь правильный путь выглядит следующим образом:Старое сообщение, которое теперь также устарело:
JFactory::getURI();
не рекомендуется. Правильный метод получения текущего URL:источник
Полагаться на
toString
метод получения текущего URL неверно.toString
Метод не предназначен для этого. Ниже представлен лучший, более чистый и перспективный подход для извлечения текущего URL:Обратите внимание, что
getFragment
метод должен возвращать деталь после знака числа, но, похоже, есть основная ошибка, которая не позволяет ему сделать это.источник
index.php&option=com_foo&view=bar
. Это должно быть?
послеindex.php