Joomla 1.5 ссылка на отдельный пункт меню и sh404SEF

Тема в разделе "Программирование", создана пользователем Dremka, 06.12.2009.

  1. Dremka
    Offline

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

    Регистрация:
    06.12.2009
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Доброго времени суток.

    Создаю шаблон и необходимо вывести 5 пунктов меню в определенных позициях.
    Просто пункт меню выводится довольно просто:
    Код (PHP):
    1. $menu = &JSite::getMenu();
    2. $jmenu = $menu->getItem ('2'); //получаем информацию по пункту меню с id = 2
    3. echo $jmenu->name; // выводим название этого пункта меню
    4. echo $jmenu->link; // выводим ссылку


    Проблема как раз в том, что при выводе ссылки таким образом, выводится ссылка из таблицы jos_menus, а там она совсем не SEF. Как передать эту ссылку sh404SEF, чтоб он её обработал и вывел?

    Мб не много коряво звучит вопрос, в итоге надо получить переменную, содержащую ссылку, сгенерированную sh404SEF для пункта меню с id=2.

    Спасибо.
     
  2.  
  3. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    А зачем выводить в разных позициях? Может все таки чудеса вертски стандартного меню помогут?
     
  4. Dremka
    Offline

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

    Регистрация:
    06.12.2009
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Ну может и помогут конечно, но в дизайне меню вьется по ленточке, и у каждого пункта своя позиция + пунктов должно выводиться не более 5.
     
  5. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    И? В чем проблема? Через css это все это реализуется
     
  6. Dremka
    Offline

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

    Регистрация:
    06.12.2009
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    а если ссылки должны быть в разных углах экрана, их тоже через цсс туда раскидывать? :)

    так мб кто-нить знает, какая функция sh404SEF преобразует из обычного урл в сеф урл? ну или есть где-нить в открытом доступе api sh404SEF
     
  7. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    Смотрите API стандартного SEF, 404 его лишь переопределяет
     
  8. Dremka
    Offline

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

    Регистрация:
    06.12.2009
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Решение оказалось простым и изящным :)
    Вдруг кому поможет:
    Код (PHP):
    1. $menu = &JSite::getMenu(); //инициализируем класс
    2. $jmenu = $menu->getItem ('2'); //получаем информацию по нужному id меню.
    3. $url = $jmenu->link; // берем его стандартный url.
    4. $url = JRoute::_($url); //при включенном чпу (а sh404SEF включает его принудительно), преобразует ссылку в чпу.
    5. echo $url; //выводим чпу ссылку при включенном SEF или обычную при отключенном


    Все гениальное просто :)
     

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

Загрузка...