2015-07-16 5 views
3

У меня есть существующий модуль, который я показываю из статьи с помощью {loadposition custom_position}. Статья связана с пунктом меню. Я хочу, чтобы иметь возможность настроить настраиваемый заголовок страницы из этого модуля, перезаписывая заголовок страницы, заданный пунктом меню.Задайте название страницы в Joomla! 3 из модуля

Я попытался с помощью

$document = JFactory::getDocument(); 
$document->setTitle('Set your title here'); 

Но она не устанавливает заголовок страницы.

Можно ли установить заголовок страницы из модуля или выполнить его только внутри компонента.

+1

Какую маршрутизацию вы делаете вокруг своей ссылки в модуле? Возможно, вы можете использовать настраиваемый маршрутизатор и задать ему параметры. – Elin

+0

Вопрос на http://stackoverflow.com/q/24865448/1983389 похож и имеет альтернативный ответ с использованием JavaScript. –

ответ

3

Код, который вы написали, верен, но, возможно, другие модули/плагины меняют название после его изменения.

Возможно, вы захотите повторить заголовок сразу после его установки, например.

$document = JFactory::getDocument(); 
$document->setTitle('Set your title here'); 
echo "<h1>" . JFactory::getDocument()->getTitle() . "</h1>"; 

Если это так, вам нужно найти другие модули/плагины, которые впоследствии изменят его.

+0

Спасибо Франческо. Ты прав. Название, возвращаемое оператором echo, - это то, что я установил. Поэтому он должен быть перезаписан позже, возможно, com_content, и это то, что я использую для показа статьи. Мне все равно нужно выяснить, есть ли способ остановить com_content от перезаписи заголовка. – Czeslaw

+0

Боюсь, вы не можете. Один из способов сделать это - написать плагин для этого и сделать его в нужное время, но для этого требуется немного больше работы. –

0
  1. Вы можете создать «Скрыть меню»;
  2. Создайте ссылку на страницу в этом Меню;
  3. Изменить заголовок страницы в пункте меню без какой-либо строки кода ...
+0

Спасибо Макс. Это установит статический заголовок страницы, но я хочу динамически установить заголовок страницы из модуля. – Czeslaw

-1

самый простой способ установить второй вар, установить свой собственный заголовок и следующая строка должна выглядеть так:

$app->titleoverridden = true; 

в компоненты/com_content/вид/статьи/view.html.php ~ линия 260 изменение:

$this->document->setTitle($title); 

в

if(!$app->titleoverriden){ 
    $this->document->setTitle($title); 
} 

но обратите внимание, что если вы получите обновление, оно МОЖЕТ быть отменено!

Смежные вопросы