Joomla 1.5 Еще одно условие для вывода пункта меню

Тема в разделе "Вопросы по работе с меню", создана пользователем DKraev, 25.09.2010.

  1. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    Здравствуйте.

    Возникла необходимость сделать проверку для вывода пункта меню. Объясню. В админку для пункта меню добавлено поле, допустим - published2. Как мне сделать условие для проверки на это поле?

    Т.е. если published2 == 1, то отображаем пункт меню на сайте. Если нет - то не отображаем.

    published2 в БД прописывается нормально при сохранении пункта меню. Интересует как именно сделать проверку на это условие. Уже перекопал все что можно - не могу найти...
     
  2.  
  3. DKraev
    Offline

    DKraev <i>(aka gft)</i>

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    216
    Пол:
    Мужской
    В общем не знаю, правильно или нет, но сделал.

    Проверку сделал в helper.php mod_mainmenu. Сделал следующим образом:

    Код (PHP):
    1. $req = "select published2 from #__menu WHERE id=$item->id";
    2.                     $db = &JFactory::getDBO();
    3.                     $db->setQuery($req);
    4.                     $published2 = $db->loadResult();


    Ну и собстенно сама проверка

    Код (PHP):
    1. if ($published2 == 1){
    2.                     $data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
    3.                     }


    ---------------------------------------------------------------------------------------------------------------------------------------

    Немного объясню для чего вообще заморачивался с этим всем делом. У клиента на сайте есть ряд материалов, которые не включены в меню. Ссылки на эти материалы он вставляет непосредственно в контент. Так как на эти материалы не ведут ссылки из меню Joomla, не работал breadcrumbs. Т.е. путь по сайту не отображался.

    Я добавил еще одно поле в админку для создаваемого пункта меню, которое назвал "Показывать на сайте". И поставил переключатель "Да" и "Нет". В БД, в jos_menu добавил поле published2.

    Теперь клиент при создании подобных материалов также создает на них ссылки в меню, но при этом выбирает "Не показывать на сайте". Таким образом на сайте данный пункт меню не виден, однако путь по сайту отображается корректно.

    Конечно, многие скажут "Отлавливал бы ItemId и все", но сайт администрирует человек ооочень далекий от глубоких знаний CMS Joomla. А так - напряга нет для клиента, и все работает как нужно.

    Может быть это можно было бы сделать проще, но я ничего другого придумать не смог. Вот такая вот фигня :)
     

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

Загрузка...