2014-02-25 4 views
1

Здравствуйте, я использую Kunena 3.0.4, и я хочу изменить названия своего форума на странице браузера.Kunena - как сменить название сайта в браузере

Теперь они

Категория index- Форум Name- название сайта или название темы имя-форум имя-сайт

И я хочу, чтобы сделать их

Тема имя имя-сайт

Где я могу это изменить? Заранее спасибо

ответ

1

Я пытался отладить это точно такая же проблема, и я нашел свой пост. К счастью, я придумал, как это сделать, с некоторой царапиной головы, Googling и поисками исходных файлов Kunena. Итак, вот ответ, если вы еще этого не поняли.

Есть две вещи, которые необходимо выполнить: Редактирование функции setTitle() и редактирование языкового файла для компонента Kunena. Эту функцию можно найти в файле view.php, присутствующего в следующей папке для Kunena 3.0.5 (последняя версия от 21 мая 2014 года):

YOUR_ROOT_DIR/public_html/libraries/kunena/view.php 

Затем измените функцию setTitle() к содержанию вашего сердца. Играйте с ним, чтобы вы выглядели и чувствовали, что идете. Вот функция по умолчанию:

public function setTitle($title) { 
    if (!$this->state->get('embedded')) { 
     // Check for empty title and add site name if param is set 
     $title = strip_tags($title); 
     if ($this->app->getCfg('sitename_pagetitles', 0) == 1) { 
      $title = JText::sprintf('JPAGETITLE', $this->app->getCfg('sitename'), $this->config->board_title .' - '. $title); 
     } elseif ($this->app->getCfg('sitename_pagetitles', 0) == 2) { 
      $title = JText::sprintf('JPAGETITLE', $title .' - '. $this->config->board_title, $this->app->getCfg('sitename')); 
     } else { 
      // TODO: allow translations/overrides (also above) 
      $title = KunenaFactory::getConfig()->board_title .' :: '. $title; 
     } 
     $this->document->setTitle($title); 
    } 
} 

Теперь строки, которые должны быть отредактированы в предложении if-elseif-else. Обратите внимание на hypen '-', добавляемый через конкатенацию. Для меня мне пришлось отредактировать часть elseif. Функция sprintf нуждается в двух аргументах, кроме «JPAGETITLE». Первый аргумент здесь - $title .' - '. $this->config->board_title, который является переменной названия плюс название форума, как установлено в Kunena. Второй аргумент - $this->app->getCfg('sitename'), который является вашим именем сайта. Там будет дополнительный hypen между аргументом 1 и 2. Таким образом, если мы имеем следующий сценарий:

$title = 'Random Page'; 
$this->config->board_title = 'Kunena Forums'; 
$this->app->getCfg('sitename') = 'Joomla Site'; 

Вы получите вывод, на основе этого кода:

Random Page - Kunena Forums - Joomla Site 

я вместо этого модифицированного функция:

public function setTitle($title) { 
    if (!$this->state->get('embedded')) { 
     // Check for empty title and add site name if param is set 
     $title = strip_tags($title); 
     if ($this->app->getCfg('sitename_pagetitles', 0) == 1) { 
      $title = JText::sprintf('JPAGETITLE', $this->app->getCfg('sitename'), $this->config->board_title, $title); 
     } elseif ($this->app->getCfg('sitename_pagetitles', 0) == 2) { 
      $title = JText::sprintf('JPAGETITLE', $title, $this->config->board_title);//, $this->app->getCfg('sitename')); 
     } else { 
      // TODO: allow translations/overrides (also above) 
      $title = KunenaFactory::getConfig()->board_title .' :: '. $title; 
     } 
     $this->document->setTitle($title); 
    } 
} 

Итак, тот же самый пример даст мне:

Random Page - Kunena Forums 

Кроме того, вы можете изменить текст по умолчанию, отображаемый на странице индексов форумов, то есть «индекс категории», что-то приятнее.Чтобы сделать это, вам нужно отредактировать файл языка по адресу:

YOUR_ROOT_DIR/public_html/components/com_kunena/language/en-GB/en-GB.com_kunena.views.ini 

Здесь искать теги:

COM_KUNENA_VIEW_CATEGORY_DEFAULT="Topics in %s"  
COM_KUNENA_VIEW_TOPICS_DEFAULT="Topic: %s"  
COM_KUNENA_VIEW_CATEGORIES_DEFAULT="Category Index" 

изменить текст к чему-то лучшему. Например, я полностью удалил «Тема:» и «Темы в» и заменил «Индекс категорий» на «Главная страница форумов». Так, в настоящее время на моих форумах главная страница, я вижу

Forums Home - My Website Forums 

Редактировать другие строки в файле языка по своему вкусу и поиграться с функцией setTitle.

В вашем случае, поскольку вы хотите удалить имя форума, удалите часть $this->config->board_title в sprintf.

+0

Отлично, спасибо. Я испытаю это в наши дни и дам вам сейчас;) – ataman79

+0

Ваше решение работает отлично, спасибо еще раз)) – ataman79

+0

Нет проблем. Рад, что смог помочь. –

0

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

$document = JFactory::getDocument(); 
$document->setTitle("This is my page title"); 

для более чтения о How to set meta details of Joomla page

Надежда его помогает ..

+0

Спасибо за ответ, но я знаю, как установить их в Joomla. Проблема в том, что я не знаю, где внести изменения в Kunena и получить название браузера, как я писал: название темы - имя сайта – ataman79

+0

Я не знаком с Kunena, но с помощью этой опции вы можете редактировать файл представления компонентов и достичь этого, также если вы используете переопределение, то можете исправить без изменения ядра. –

+0

Я знаю, как вставлять название страницы, но, как я писал в Kunena, я не знаю, где это сделать. Я просто ищу кого-то, чтобы указать мне, в каких файлах я должен искать изменения. – ataman79