Создать список "Привязка к меню", есть метод?

Тема в разделе "Программирование", создана пользователем `p r o x y, 28.09.2010.

  1. Offline

    `p r o x y Недавно здесь

    Регистрация:
    27.04.2008
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Время доброго.

    В компоненте необходимо создать поле «Привязка к меню», которое отображается в настройках модулей меню, например.

    Вопрос, список всех существующих страниц (пунктов меню), строить самому (вручную выбирать из базы) или есть стандартный joomla метот выдающий этот список?
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Класс для работы с меню JMenu
     
  4. Offline

    `p r o x y Недавно здесь

    Регистрация:
    27.04.2008
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Благодарю
     
  5. Offline

    `p r o x y Недавно здесь

    Регистрация:
    27.04.2008
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Все гараздо проще:
    Код (PHP):
    1. // привязка к меню
    2. $selections = JHTML::_('menu.linkoptions');
    3. $row->msel  = JHTML::_('select.genericlist',   $selections, 'selections[]', 'class="inputbox" size="15" multiple="multiple"', 'value', 'text', $lookup, 'selections' );


    И на страницу добавить js:
    Код (html):
    1. function allselections() {
    2.     var e = document.getElementById('selections');
    3.         e.disabled = true;
    4.     var i = 0;
    5.     var n = e.options.length;
    6.     for (i = 0; i < n; i++) {
    7.         e.options[i].disabled = true;
    8.         e.options[i].selected = true;
    9.     }
    10. }
    11. function disableselections() {
    12.     var e = document.getElementById('selections');
    13.         e.disabled = true;
    14.     var i = 0;
    15.     var n = e.options.length;
    16.     for (i = 0; i < n; i++) {
    17.         e.options[i].disabled = true;
    18.         e.options[i].selected = false;
    19.     }
    20. }
    21. function enableselections() {
    22.     var e = document.getElementById('selections');
    23.         e.disabled = false;
    24.     var i = 0;
    25.     var n = e.options.length;
    26.     for (i = 0; i < n; i++) {
    27.         e.options[i].disabled = false;
    28.     }
    29. }


    HTML:
    Код (html):
    1. <fieldset class="adminform">
    2.     <legend><? echo JText::_( 'MENU ASSIGNMENT' ); ?></legend>
    3.     <table class="admintable" cellspacing="1">
    4.         <tr>
    5.             <td valign="top" class="key">
    6.                 Меню:
    7.             </td>
    8.             <td>
    9.                 <label for="menus-all"><input id="menus-all" type="radio" name="menus" value="all" onclick="allselections();" />Все</label>
    10.                 <label for="menus-none"><input id="menus-none" type="radio" name="menus" value="none" onclick="disableselections();" />Отсутствуют</label>
    11.                 <label for="menus-select"><input id="menus-select" type="radio" name="menus" value="select" onclick="enableselections();" checked="checked" />Выбрать из списка</label>
    12.             </td>
    13.         </tr>
    14.         <tr>
    15.             <td valign="top" class="key">
    16.                 Выберите пункты:
    17.             </td>
    18.             <td>
    19.                 <? echo $row->msel; ?>
    20.             </td>
    21.         </tr>
    22.     </table>
    23. </fieldset>
     
  6. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    что то я не могу понять - проще чего ? )))
     
  7. Offline

    `p r o x y Недавно здесь

    Регистрация:
    27.04.2008
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Да я поторопился. И написыл создание этого меню вручную. Т.е. получение всех меню: id, menutype, name, и далее компановку этого в select. И только потом полез в компонент модулей и нашел, как это делается еще проще через JHTML.
     

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

Загрузка...