Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с правкой скрипта php CMS DLE под свой нужны

23K
15 ноября 2009 года
s0cks
41 / / 02.02.2008
Доброго всем времени суток , правлю код под CMS DLE в engine.php для своих целей умной линковки сайта, объявляю переменную новую $nofollow = "rel='nofollow'"; , чтобы она закрывала ссылки он индексации в пс гугл , проблема в том что она работает в одном участке кода а в другой нет , буду очень признателен если укажите на ошибки и поможете разобраться что делаю не так

вот исходный рабочий код

Код:
*
=====================================================
 Формирование speedbar
=====================================================
*/
if ($config['speedbar'] and ! isset ( $view_template )) {
   
    $s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";
   
    if ($category_id) $s_navigation .= " &raquo; " . get_categories ( $category_id );
    elseif ($do == 'tags') {
       
        if ($config['allow_alt_url'] == "yes") $s_navigation .= " &raquo; <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;
        else $s_navigation .= " &raquo; <a href=\"?do=tags\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;
   
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
    $tpl->compile ( 'speedbar' );
    $tpl->clear ();

}
?>


а вот сам код который правлю и вставляю переменную ( он почему-то отказывается работать )

Код:
/*
=====================================================
 Формирование speedbar
=====================================================
*/

$nofollow = "rel='nofollow'";
if ($config['speedbar'] and ! isset ( $view_template )) {
   
    $s_navigation = "<a href=\"{$config['http_home_url']}\"$nofollow>" . $config['short_title'] . "</a>";
   
    if ($category_id) $s_navigation .= " &raquo; " . get_categories ( $category_id );
    elseif ($do == 'tags') {
       
        if ($config['allow_alt_url'] == "yes") $s_navigation .= " <a href=\"$config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;
        else $s_navigation .= "  <a href=\"?do=tags\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;
   
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
    $tpl->compile ( 'speedbar' );
    $tpl->clear ();

}
?>


и последний этот код не работает , надеюсь поможете , искренне буду благодарен :o
325
16 ноября 2009 года
Franky
723 / / 10.08.2005
а в чем сложность вместо переменной $nofollow вписать текст "rel='nofollow'"?
Кстати и в <noindex> за одно обрамить.
54K
16 ноября 2009 года
vanya345
3 / / 16.11.2009
прошу прощения, буду отвечать за ТС , так как тема интересна обоим.
Цитата: Franky
а в чем сложность вместо переменной $nofollow вписать текст "rel='nofollow'"?
Кстати и в <noindex> за одно обрамить.


сложности нет, но результат тот же - не работает.

13
16 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
Что значит "не работает"? Подробнее опишите
54K
16 ноября 2009 года
vanya345
3 / / 16.11.2009
постараюсь подробнее.
вот код без изменений:
Код:
if ($config['speedbar'] and ! isset ( $view_template )) {
   
    $s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";
   
    if ($category_id) $s_navigation .= " &raquo; " . get_categories ( $category_id );
    elseif ($do == 'tags') {
       
        if ($config['allow_alt_url'] == "yes") $s_navigation .= " <a href=\"" . $config['http_home_url'] . "tags/\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;
        else $s_navigation .= "  <a href=\"?do=tags\">" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;
   
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
    $tpl->compile ( 'speedbar' );
    $tpl->clear ();
}

на выходе он генерирует приблизительно это:
 
Код:
<a href="http://h/">Демонстрационный сайт</a> &raquo; <a href="http://h/otnosheniya/">отношения</a>

дописываем параметр rel='nofollow'
имеем код:
Код:
if ($config['speedbar'] and ! isset ( $view_template )) {
   
    $s_navigation = "<a href=\"{$config['http_home_url']}\"rel='nofollow'>" . $config['short_title'] . "</a>";
   
    if ($category_id) $s_navigation .= " &raquo; " . get_categories ( $category_id );
    elseif ($do == 'tags') {
       
        if ($config['allow_alt_url'] == "yes") $s_navigation .= " <a href=\"" . $config['http_home_url'] . "tags/\"rel='nofollow'>" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;
        else $s_navigation .= "  <a href=\"?do=tags\"rel='nofollow'>" . $lang['tag_cloud'] . "</a> &raquo; " . $tag;

    } elseif ($nam_e) $s_navigation .= " &raquo; " . $nam_e;

    if ($titl_e) $s_navigation .= " &raquo; " . $titl_e;
   
    $tpl->load_template ( 'speedbar.tpl' );
    $tpl->set ( '{speedbar}', '<span id=\'dle-speedbar\'>' . stripslashes ( $s_navigation ) . '</span>' );
    $tpl->compile ( 'speedbar' );
    $tpl->clear ();
}

на выходе имеем где то вот это:
 
Код:
<a href="http://h/"rel='nofollow'>Демонстрационный сайт</a> &raquo; <a href="http://h/otnosheniya/">отношения</a>

вместо этого:
 
Код:
<a href="http://h/"rel='nofollow'>Демонстрационный сайт</a> &raquo; <a href="http://h/otnosheniya/"rel='nofollow'>отношения</a>

т.е. вопрос в том почему ко второй ссылке параметр rel='nofollow' не добавляется, в чём ошибка?
13
16 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
1) <a href="http://h/"rel='nofollow'> - вообще между параметрами должен быть пробел
2) Вторая ссылка у вас генерируется функцией get_categories ( $category_id ) - копайте ее
54K
16 ноября 2009 года
vanya345
3 / / 16.11.2009
подробнее, если можно, что в ней копать то?
13
16 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
Копать в ней генерирование второй ссылки...
21K
19 ноября 2009 года
DeamonShan
65 / / 14.05.2008
в файле engine/modules/functions.php нужно править функци. get_categories() (строка примерно 846)

Дописать во все тэги А $nofollow, приясвоив к этой переменной значение в самой функции, иначе она будет пустой. И не забудьте перед $nofollw пробел...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог