Заставляем работать хак для titile

Тема в разделе "Общие вопросы SEO", создана пользователем ArCher1981, 07.08.2007.

  1. Offline

    ArCher1981 Недавно здесь

    Регистрация:
    06.07.2007
    Сообщения:
    36
    Симпатии:
    0
    Пол:
    Мужской
    В продолжение темы с теперь уже старого форума, вниманию товарища sourpuss )
    Поменял местами заголовок и псевдоним категорий, в итоге система мне теперь выдаёт title типа "ulpl / Добролюбова проспект". Возник вопрос. В следующем коде:

    function setPageTitle( $title=null , $pageparams=null ) {
    if (@$GLOBALS['mosConfig_pagetitles']) {
    $title = trim( htmlspecialchars( $title ) );
    if ( $pageparams!=null ) {
    $pageownname = trim( htmlspecialchars( $pageparams->get('page_name') ) );
    $this->_head['title'] = $pageparams->get('no_site_name') ? ( $pageownname ? $pageownname : ( $title ? $title : $GLOBALS['mosConfig_sitename'] ) ) : ( $pageparams->get('arrange_by') ? ( $pageownname ? $pageownname : $title ) . ' - ' . $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename'] . ' - '. ( $pageownname ? $pageownname : $title ) );
    }
    else {
    $pageownname = null;
    $this->_head['title'] = $title ? $title . ' - '. $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename'];
    }
    }
    }

    если я всё верно понимаю, тут упоминаний ни о псевдониме категории и о её заголовке нет. А если так, то логично предположить что title для статей создаётся где то ещё. Какое выражение может выдать в title псевдоним категории? В каких файлах оно может быть? Я готов перерыть их, дабы отыскать причину такого поведения Джумлы.
     
  2.  
  3. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 311
    Симпатии:
    375
    Пол:
    Мужской
    Ответ: Заставляем работать хак для titile

    Точно подмечено. Развивай мысль ;)
    Псевдоним не трогай.

    Кто хакал джумлу до тебя?
     
  4. Offline

    ArCher1981 Недавно здесь

    Регистрация:
    06.07.2007
    Сообщения:
    36
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Заставляем работать хак для titile

    До меня джумлу никто не хакал, всё моих рук дело.

    В этом самом коде заменил "-" на "*" при выключенном кэше - получил title вида "uilpl / Добролюбова проспект * -". А ведь этот символ выводится при $pageownname=null !!! Не в этом ли дело?
     
  5. Offline

    ArCher1981 Недавно здесь

    Регистрация:
    06.07.2007
    Сообщения:
    36
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Заставляем работать хак для titile

    В файле sefpatch.php принадлежащем OpenSEF отковырял вот чего:

    function setPageTitle( $title=null ) {
    if (@$GLOBALS['mosConfig_pagetitles']) {
    $title = trim( htmlspecialchars( $title ) );
    $this->_head['title'] = $title ;
    }
    }

    заменил эту функцию на

    function setPageTitle( $title=null , $pageparams=null ) {
    if (@$GLOBALS['mosConfig_pagetitles']) {
    $title = trim( htmlspecialchars( $title ) );
    if ( $pageparams=null ) {
    $pageownname = trim( htmlspecialchars( $pageparams->get('page_title') ) );
    $this->_head['title'] = $pageparams->get('no_site_name') ? ( $pageownname ? $pageownname : ( $title ? $title : $GLOBALS['mosConfig_sitename'] ) ) : ( $pageparams->get('arrange_by') ? ( $pageownname ? $pageownname : $title ) . ' - ' . $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename'] . ' - '. ( $pageownname ? $pageownname : $title ) );
    }
    else {
    $pageownname = null;
    $this->_head['title'] = $title ? $title . ' * '. $GLOBALS['mosConfig_sitename'] : $GLOBALS['mosConfig_sitename'];
    }
    }
    }

    пока без результата. Но думается, я уже близко к решению проблемы. Вопрос. Передаётся ли $pageownname этому файлу? Да и возникают вопросы, почему же тогда хак не начинает работать при выключенном сефе...
     
    Последнее редактирование: 07.08.2007
  6. Offline

    ArCher1981 Недавно здесь

    Регистрация:
    06.07.2007
    Сообщения:
    36
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Заставляем работать хак для titile

    Чтож, я кажется нашёл подставу. Мамбот ContentTemplater нагло переписывал title. Вырезал из кода мамбота соответствующий кусок - теперть просто title не меняется вне зависимости от настроек хака Надо попробовать хак переустановить...
     
  7. Offline

    tipok Недавно здесь

    Регистрация:
    08.08.2007
    Сообщения:
    2
    Симпатии:
    0
    Ответ: Заставляем работать хак для titile

    Для тех, кто сильно менял код Joomla - простая замена файлов может повлечь к потере изменений, поэтому предлагаю один .diff - файл который можно применить следуюшим образом:

    1. Скачиваем и ложим его в корень Joomla.
    2. gunzip Joomla_1.0.12-RE-FullSEOPatch.diff.gz
    3. patch -p1 < Joomla_1.0.12-RE-FullSEOPatch.diff

    Был успешно применён на "CMS Joomla! RE 1.0.13" со своими доработками.
     
  8. Offline

    ArCher1981 Недавно здесь

    Регистрация:
    06.07.2007
    Сообщения:
    36
    Симпатии:
    0
    Пол:
    Мужской
    Ответ: Заставляем работать хак для titile

    Простите, но не могу не уточнить:
    пункт 2 - распаковать архив в корень джумлы?
    пункт 3 - что имеется в виду вообще? это в командную строку вводить, или что ещё?
     
  9. Offline

    tipok Недавно здесь

    Регистрация:
    08.08.2007
    Сообщения:
    2
    Симпатии:
    0
    Ответ: Заставляем работать хак для titile

    Да

    Да (для unix-подобных ОС) При этом программа "patch" - может ругаться на "HUNK-и" - но это простительно, если же Joomla - правилась очень сильно, то могут появиться *.rej - файлы, в которых сохранены неприменённые части патча (которые прийдётся применять вручную).
    Подробнее о программах patch и diff здесь
     
    Последнее редактирование: 08.08.2007

Поделиться этой страницей

Загрузка...