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

Discussion in 'Программирование' started by `p r o x y, Sep 28, 2010.

  1. Offline

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

    Joined:
    Apr 27, 2008
    Messages:
    12
    Likes Received:
    0
    Gender:
    Male
    Время доброго.

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

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

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Класс для работы с меню JMenu
     
  4. Offline

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

    Joined:
    Apr 27, 2008
    Messages:
    12
    Likes Received:
    0
    Gender:
    Male
    Благодарю
     
  5. Offline

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

    Joined:
    Apr 27, 2008
    Messages:
    12
    Likes Received:
    0
    Gender:
    Male
    Все гараздо проще:
    Код (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 Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    что то я не могу понять - проще чего ? )))
     
  7. Offline

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

    Joined:
    Apr 27, 2008
    Messages:
    12
    Likes Received:
    0
    Gender:
    Male
    Да я поторопился. И написыл создание этого меню вручную. Т.е. получение всех меню: id, menutype, name, и далее компановку этого в select. И только потом полез в компонент модулей и нашел, как это делается еще проще через JHTML.
     

Share This Page

Loading...