не работает l() в модуле [Решено]

Главные вкладки

Аватар пользователя Cutler Cutler 6 апреля 2010 в 15:10

Есть views comments (комментарии пользователя) с аргументом Пользователь: Uid;
Если вставить в шаблон user-simple_profile.tpl.php. print l('Комментарии', "сomments/{$nik->uid}") работает как надо ($nik->uid беру с $nik = user_load($node->uid)).
Но мне надо ето сделать в блоке своего модуля, вставляю так же $block['content'] .= '

  • ' . l('Комментарии', "comments/{$nik->uid}") . '

  • ', ссылка в блоке появляется но при переходе по ней выдает СТРАНИЦА НЕ НАЙДЕНА.
    В чем может быть проблема? Помогите please!

    Комментарии

    Аватар пользователя glu2006 glu2006 6 апреля 2010 в 15:14

    У вас в блоке объекта $node нет, поэтому функция user_load возвращает пустоту, отсюда и битая ссылка, причем тут функция l() Smile

    Аватар пользователя Cutler Cutler 6 апреля 2010 в 15:22

    "glu2006" wrote:
    У вас в блоке объекта $node нет, поэтому функция user_load возвращает пустоту, отсюда и битая ссылка, причем тут функция l() :)

    тогда как, через $node = node_load(arg(1)) + l('Комментарии', "comments/{$node->uid}" тоже самое!

    Аватар пользователя glu2006 glu2006 6 апреля 2010 в 15:33

    Cutler wrote:
    "glu2006" wrote:
    У вас в блоке объекта $node нет, поэтому функция user_load возвращает пустоту, отсюда и битая ссылка, причем тут функция l() :)

    тогда как, через $node = node_load(arg(1)) + l('Комментарии', "comments/{$node->uid}" тоже самое!

    Что тоже самое?
    1. Чистим кеш
    2. делаем print_r($node) что выводит?
    3. что в arg(1) ?
    4. смотрим фаербагом на ссылку что написано после comments

    Аватар пользователя Cutler Cutler 6 апреля 2010 в 16:10

    "glu2006" wrote:
    Что тоже самое?
    1. Чистим кеш
    2. делаем print_r($node) что выводит?
    3. что в arg(1) ?
    4. смотрим фаербагом на ссылку что написано после comments

    1 кеш чистил,
    2 [nid] => 23
    [type] => simple_profile
    [language] =>
    [uid] => 12
    [status] => 1
    [created] => 1269851527
    [changed] => 1269877143
    [comment] => 0
    [promote] => 0
    [moderate] => 0
    [sticky] => 0
    [tnid] => 0
    [translate] => 0
    [vid] => 23
    [revision_uid] => 12
    [title] => Профайл пользователя 23
    [body] =>
    дальше поля сск.
    3. в arg(1) - пользователь(например Оbama), всмысле его страница профиля.
    4. если фаербагом то ссылка в самом профиле выглядит href="/%D1%81omments/12">Комментарии (работчяя).
    а та што с модуля в блоке - href="/comments/12">Комментарии (не рабочая), может дело в етом %D1%81?

    Аватар пользователя Cutler Cutler 6 апреля 2010 в 16:34

    "glu2006" wrote:
    <?php
    l(t('Comment'), 'comments/'. $node->uid);
    ?>

    тоже самое "страница не найдена", может где что то по глобальнее напортачил, уже незнаю что думать.

    Аватар пользователя Cutler Cutler 6 апреля 2010 в 18:04

    Работает!
    переназвал views на comments (он у меня начинался с большой Comments), переписал заново эти ссылки и заработало. даже и не понял в чем была загвоздка, или в из за Comments - названия views или может в ссылке comments первая c - русская, как сказал olk.
    Всем спасибо за помощь и внимание!