Форум русской поддержки Joomla!® CMS
05.12.2016, 12:29:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Как работать с таким типом поля type="Repeatable" в Joomla 3?

 (Прочитано 2482 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« : 13.03.2015, 22:08:57 »

Добрый вечер. Столкнулся с проблемой создания своего поля ввода в форме в админке . По описанию Repeatable вроде подходит. Но нигде не могу найти внятного рабочего примера. Если кто работал с таким полем поделитесь информацией. Система Joomla 3.3.6 . Заранее спасибо.
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #1 : 13.03.2015, 23:06:54 »

Применял. Код из рабочего модуля
В файле XML добавляем поле:
Код
        <field name="list_anchors"
         type="Repeatable"
         icon="list"
         description="MOD_ANCHOR_MENU_ANCHOR_LIST_DESC"
         select="MOD_ANCHOR_MENU_ANCHOR_LIST_BUTTON"
         label="MOD_ANCHOR_MENU_ANCHOR_LIST_LABEL"
         maximum="20"
         default="" >

           <fields name="params">
             <fieldset hidden="true" name="list_anchors_modal" repeat="true">
               <field name="anchor_title"
                 label="MOD_ANCHOR_MENU_ANCHOR_TITLE_LABEL"
                 size="40"
                 type="text" />

             </fieldset>
         </fields>
       </field>

Здесь только одно поле для клонирования, можно добавить несколько разных типов

В файле php декодируем массив и выводим в цикле:

Код
<?php
     $anchorString = json_decode($params->get('list_anchors'));
     ...
     foreach($anchorString as $key => $value) {
        ...
     }
   ?>
без пояснений разберетесь?
картинку прикрепил


* anchor-list-3.jpg (48.61 Кб, 801x468 - просмотрено 260 раз.)
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #2 : 13.03.2015, 23:28:42 »

Спасибо большое), А вывод только в модальном окне? Можно выводить например в отдельном табе?
« Последнее редактирование: 13.03.2015, 23:34:18 от vickof » Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #3 : 13.03.2015, 23:48:42 »


В файле php декодируем массив и выводим в цикле:

Код
<?php
     $anchorString = json_decode($params->get('list_anchors'));
     ...
     foreach($anchorString as $key => $value) {
        ...
     }
   ?>
без пояснений разберетесь?
картинку прикрепил
Наверное не разберусь, с XML вроде все понятно а вот как его вывести, что писать в модели и view так и не понял
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #4 : 13.03.2015, 23:51:05 »

fbr, если есть возможность, выложите готовый образец или дайте ссылку на имеющееся публичное free-расширение с применением repeatable, а то, боюсь, это будет тянуться оч. долго.
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #5 : 14.03.2015, 00:03:27 »

Скачать можно здесь

ну и потом разобрать на части Azn
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #6 : 16.03.2015, 00:30:30 »

Скачать можно здесь

ну и потом разобрать на части Azn

Столкнулся с проблемой, если нажать на отмену в модальном окне то при повторном нажатии на поле repeatable без перезагрузки страницы, поля в модальном окне удваиваются в количестве. Посмотрел в базу данных там все нормально. Где-то не хватает какой то проверки, кто может помочь?
« Последнее редактирование: 16.03.2015, 01:50:32 от vickof » Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #7 : 16.03.2015, 02:35:27 »

Попробовал этот новый элемент. Глючный пипец. В частности когда устанавливал модуль с этими полями на версию Joomla! 3.3.6 наблюдал сразу два глюка. Если не указать поле default у элемента то модальное окно откроется без полей (всего одно поле типа text было внутри и оно не отображалаось).

И второй глюк если на странице два элемента типа repeatable. В таком случае при нажатии кнопку выбрать у первого элемента (которое должно открыть модальное окно) происходил вылет в менеджер модулей а после нажатии на кнопку второго элемента всегда будет открыватся модальное окно второго элемента даже если потом нажимать на выбрать у первого элемента.

Вобщем он в этих версиях весьма сыроват, так что использовать его в чистом виде не рекомендую. Или можете сделать как я. Что я сделал:

Cкопировал файл repeatable.php из последней версии Joomla 3.4 (в ней этот элемент уже допиленный похоже, по крайней мере он рабочий) в папку fields своего расширения. Также из папки /media/system/js скопировал скрипт reapeatable.js в папку своего расширения ( /mymodule/assets/js/). Заменил в repeatable.php строчку:
Код
JHtml::_('script', 'system/repeatable.js', true, true);
 
на
Код
JHtml::_('script', 'modules/mymodule/assets/js/repeatable.js', true); 
 

profit!

P.S.  Естественно в xml-ке должна быть прописана папка с кастомными полями посредством добавления атрибута addfieldpath="/modules/mymodule/fields" в группу полей с repeatable элементом.
« Последнее редактирование: 16.03.2015, 02:42:52 от zomby6888 » Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #8 : 16.03.2015, 08:34:23 »

Cкопировал файл repeatable.php из последней версии Joomla 3.4 (в ней этот элемент уже допиленный похоже, по крайней мере он рабочий) в папку fields своего расширения. Также из папки /media/system/js скопировал скрипт reapeatable.js в папку своего расширения ( /mymodule/assets/js/). Заменил в repeatable.php строчку:
Код
JHtml::_('script', 'system/repeatable.js', true, true);
 
на
Код
JHtml::_('script', 'modules/mymodule/assets/js/repeatable.js', true); 
 

profit!

P.S.  Естественно в xml-ке должна быть прописана папка с кастомными полями посредством добавления атрибута addfieldpath="/modules/mymodule/fields" в группу полей с repeatable элементом.
Что мешает эти файлы взять из 3,4 и кинуть их с заменой в 3,3,6 и наслаждаться? зачем дублировать в своем модуле?
А что мешает сразу обновится до 3,4? или, если речь идет о расширении массового распространения, сразу указывать, что встанет минимум на 3,4?
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #9 : 16.03.2015, 12:35:30 »

Сомневаюсь что пользователи будут обновлятся до Joomla 3.4 (которая кстатии еще сыровата тоже и не устанавливается через менеджер обновлений). Что то я не видел таких распостраняемых расширений в которых требовалось обновление до самых последних версий. Такие мало кто себе поставит. Если бы все было-бы так просто, все бы уже перестали ориентироватся на старые браузеры, и не было бы раздутых библиотек для фронтенда.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #10 : 16.03.2015, 12:39:31 »

Сомневаюсь что пользователи будут обновлятся до Joomla 3.4 (которая кстатии еще сыровата тоже и не устанавливается через менеджер обновлений).
Я обновил до 3.4 в чем сырость не знаю, и кстати отлично через менеджер обновлений ставится!
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #11 : 16.03.2015, 12:54:18 »

Что то я не видел таких распостраняемых расширений в которых требовалось обновление до самых последних версий.
Свежачок: http://joomlablog.ru/dokumentatsiya/vjorstka-shablonov/gantry-5/590-gantry-5-neveroyatno-prost-v-ispolzovanii




Я обновил до 3.4 в чем сырость не знаю
Сырость в мультиязычности, 2 хитрых бага почти сразу нашли, но это мало кто использует, также небольшие проблемы в использовании JApplication в фреймворках для шаблонов: почти все обновлять пришлось или править ручками.
« Последнее редактирование: 16.03.2015, 12:57:26 от AlekVolsk » Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #12 : 16.03.2015, 13:01:32 »

Сырость в мультиязычности, 2 хитрых бага почти сразу нашли, но это мало кто использует, также небольшие проблемы в использовании JApplication в фреймворках для шаблонов: почти все обновлять пришлось или править ручками.
Ну мультиязычность я редко использую, а вот разве Joomla виновата в багах фреймворков для шаблонов?!
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #13 : 16.03.2015, 13:09:23 »

разве Joomla виновата в багах фреймворков для шаблонов?!
Нет, конечно, но подавляющее большинство клеймит именно ее )) народ услышал первый звон, что у кого-то там чего-то не так, и давай клеймить: мол, сырая, и все такое...

Сори за флуд.
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #14 : 16.03.2015, 13:38:54 »

Нет но сама система мне понравилась, особенно фишка редактирования админки модулей из фронтенда. Пробовали?
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #15 : 16.03.2015, 13:55:23 »

Пробовали?
Нет! Вообще не понимаю зачем этот бред!
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #16 : 16.03.2015, 13:57:33 »

Нет, не пробовал, зачем это? Если есть админка, то нафига дубляж ее функций во фронте? никогда не понимал этого. Одно дело - материалы, когда даются права на их публикацию/модификацию разным пользователям-авторам, но модули и прочее - это уже перебор, имхо.
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #17 : 16.03.2015, 14:19:55 »

Цитировать
Cкопировал файл repeatable.php из последней версии Joomla 3.4 (в ней этот элемент уже допиленный похоже, по крайней мере он рабочий) в папку fields своего расширения. Также из папки /media/system/js скопировал скрипт reapeatable.js в папку своего расширения ( /mymodule/assets/js/). Заменил в repeatable.php строчку:
Код
JHtml::_('script', 'system/repeatable.js', true, true);
 
на
Код
JHtml::_('script', 'modules/mymodule/assets/js/repeatable.js', true); 
 

profit!

P.S.  Естественно в xml-ке должна быть прописана папка с кастомными полями посредством добавления атрибута addfieldpath="/modules/mymodule/fields" в группу полей с repeatable элементом.

zomby6888, Сделал так же, кнопка входа в модальное окно появилась но при ее нажатии перезагрузка страницы и все.. Хоть если ставлю 3,3,6 версию то все работает, но с глюками которые описал выше. Наверное еще какой то файл подключается.

И еще в строчке у Вас
Код
JHtml::_('script', 'modules/mymodule/assets/js/repeatable.js', true);
  точно одно true в конце?
« Последнее редактирование: 16.03.2015, 14:31:14 от vickof » Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #18 : 16.03.2015, 14:57:31 »

Нет! Вообще не понимаю зачем этот бред!

Нет, не пробовал, зачем это?

http://joomla3.zz.vc/

Логин и пароль admin. Разве не удобно? В друпале это кстатии давно уже практикуется. 

vickof Честно говоря, незнаю, врятли там еще что то, может кеш надо зачистить, возможно файлик не цепляется. Строчка правильная. Я скоро выложу этот модуль в общий доступ. Сможете посмотреть, хоть на демке и версия 3.4 Joomla но ставил я модуль на версию 3.3.6 (у хостера стояла)
« Последнее редактирование: 16.03.2015, 15:03:17 от zomby6888 » Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #19 : 16.03.2015, 15:10:15 »

http://joomla3.zz.vc/

Логин и пароль admin. Разве не удобно?

vickof Честно говоря, незнаю, врятли там еще что то, может кеш надо зачистить, возможно файлик не цепляется. Строчка правильная. Я скоро выложу этот модуль в общий доступ. Сможете посмотреть, хоть на демке и версия 3.4 Joomla но ставил я модуль на версию 3.3.6 (у хостера стояла)

Точно кеш почистил и заработало))

тут еще вопрос такой походу возник, опять же по типам полей. Думаю многие с таким сталкивались. Когда выбираешь значение из выпадающего списка появляется рядом еще один выпадающий список в котором значения в зависимости от выбора первого
« Последнее редактирование: 16.03.2015, 15:16:45 от vickof » Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #20 : 16.03.2015, 15:17:20 »

тут еще вопрос такой походу возник, опять же по типам полей. Думаю многие с таким сталкивались. Когда выбираешь значение select option из типа list одного поля появляется возможность выбрать в другом поле такого же типа.

Зависимые поля я так понял? Динамических селектов нету в стандартных типах Joomla вроде как. Пишите свои контролы с аяксами или без, в любом случае это будет надежнее чем эти глюкавые новые типы полей.
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #21 : 16.03.2015, 15:18:29 »

отредактировал попонятней что мне нужно
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #22 : 16.03.2015, 16:05:59 »

Когда выбираешь значение из выпадающего списка появляется рядом еще один выпадающий список в котором значения в зависимости от выбора первого
Это так называемые зависимые поля, т.е. несколько полей, в которых видимость или выбор значения в одном поле зависит от значения в другом поле. Нетривиально. Я не делал - уж больно геморно. Образец можно посмотреть в com_menus в админке: там идет подключение доп.полей из внешнего компонента, на который ссылается пункт меню, в зависимости от типа меню.
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #23 : 16.03.2015, 16:22:54 »

Вот разобраться бы как тут сделано. http://joomcar.net/module-with-connected-fields  то что мне нужно
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #24 : 16.03.2015, 16:25:51 »

Красота. Тоже возьму себе на заметку =)
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #25 : 16.03.2015, 16:26:50 »

Вот разобраться бы как тут сделано. http://joomcar.net/module-with-connected-fields  то что мне нужно
SELECT и AJAX
Вот тут http://joomlaforum.ru/index.php/topic,308686.0.html был такой же вопрос!
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #26 : 16.03.2015, 16:29:56 »

Ага, но на примере выше - сделано круче
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #27 : 16.03.2015, 16:30:58 »

Ага, но на примере выше - сделано круче
И чего там круче?) Больше полей и все, суть та же и делается так же...
Записан
AlekVolsk
Профи
********

Репутация: +316/-3
Offline Offline

Пол: Мужской
Сообщений: 6453



« Ответ #28 : 16.03.2015, 17:12:26 »

А там вывод результатов по кнопочке ))) Wink
Записан
vickof
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 52



« Ответ #29 : 16.03.2015, 17:14:59 »

SELECT и AJAX
Вот тут http://joomlaforum.ru/index.php/topic,308686.0.html был такой же вопрос!
Да это тема кстати AlekVolsk , а говорили не делали такого и даже вот совсем недавно.
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet