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

Discussion in 'Программирование' started by Dremka, Dec 6, 2009.

  1. Dremka
    Offline

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

    Joined:
    Dec 6, 2009
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Доброго времени суток.

    Создаю шаблон и необходимо вывести 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_ Местный => Cпециалист <=

    Joined:
    Apr 12, 2008
    Messages:
    2,171
    Likes Received:
    102
    Gender:
    Male
    А зачем выводить в разных позициях? Может все таки чудеса вертски стандартного меню помогут?
     
  4. Dremka
    Offline

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

    Joined:
    Dec 6, 2009
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Ну может и помогут конечно, но в дизайне меню вьется по ленточке, и у каждого пункта своя позиция + пунктов должно выводиться не более 5.
     
  5. Offline

    _voland_ Местный => Cпециалист <=

    Joined:
    Apr 12, 2008
    Messages:
    2,171
    Likes Received:
    102
    Gender:
    Male
    И? В чем проблема? Через css это все это реализуется
     
  6. Dremka
    Offline

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

    Joined:
    Dec 6, 2009
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    а если ссылки должны быть в разных углах экрана, их тоже через цсс туда раскидывать? :)

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

    _voland_ Местный => Cпециалист <=

    Joined:
    Apr 12, 2008
    Messages:
    2,171
    Likes Received:
    102
    Gender:
    Male
    Смотрите API стандартного SEF, 404 его лишь переопределяет
     
  8. Dremka
    Offline

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

    Joined:
    Dec 6, 2009
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Решение оказалось простым и изящным :)
    Вдруг кому поможет:
    Код (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 или обычную при отключенном


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

Share This Page

Loading...