Sergey
наследуешь класс списка от джумлы поля
При этом этот класс будет внутри класса расчета доставки жш. Значит нужно куда-то наружу его выносить и импортировать
Дмитрий
вот так создаешь свои опции
Дмитрий
и туда сгрузи
Дмитрий
вообще один класс - один файл
Дмитрий
всегда
Дмитрий
кто делает иначе мудаки
Дмитрий
создай там папку внутри плагина и создай файл php
Дмитрий
mylistapi.php
Дмитрий
Нет, не плагин
а что это?
Sergey
shipping method внутри жш
Sergey
Класс с 4-мя функциями
Дмитрий
но ты свою стороную доставку делаешь же как -то плагином?
Sergey
Нет ))
Дмитрий
ты же не в коернь JS кидаешь
Sergey
Плагин будет, но потом
Дмитрий
ну вот
Дмитрий
в этот плагин и делаешь
Дмитрий
папку fields
Дмитрий
и там класс
Дмитрий
Плагин будет, но потом
создай папку свою в libraries
Дмитрий
пока что
Дмитрий
и туда вынеси
Дмитрий
а потом вынеси в плагин свой когда будешь его оформлять
Dmitry
создай папку свою в libraries
Да, верное решение. Свою библиотеку
Sergey
Омг )
Дмитрий
@progreccor запускаемся?
Дмитрий
Омг )
да это временно
Дмитрий
просто чтобы разместить пока у тебя плагина нет, а потом в плагин перетащи класс
Dmitriy
https://us02web.zoom.us/j/9361192503?pwd=ekNKNWhxTjVvUkFJTFdFdERxa3BKQT09
Dmitriy
Включаемся
Vladimir
я могу платный поднять
Sergey
Вообще по логике класса нужно взять поле и перезаписать его. Почти во всех методах указывается replace, поставить его в true. Но поле сабформы уже другой экземпляр другого объекта - SubForm, у которого почему-то этих методов нет. Там вообще 4 метода, 2 из которых недоступны.
Sergey
Вот и ковыряюсь.
Dmitriy
у меня не платный
Sergey
Проще вообще наговнокодить и прямиком в файл писать ))))
Дмитрий
нет
давай тогда платный
Vladimir
Владимир Елисеев приглашает вас на запланированную конференцию: Zoom. Тема: Зал персональной конференции Владимир Елисеев Подключиться к конференции Zoom https://us02web.zoom.us/j/9361192503?pwd=ekNKNWhxTjVvUkFJTFdFdERxa3BKQT09 Идентификатор конференции: 936 119 2503 Код доступа: 363173
Dmitriy
подними платный
Vladimir
давай сюда
Dmitriy
ок
Sergey
Короче, нужно делать свой тип поля и к нему свой класс, его обрабатывающий. Ртфм в эту сторону, так?
Vladimir
@Septdir
Vladimir
будешь подключаться?
Дмитрий
я тебе код весь прислал
Дмитрий
посмотри его и сделай так же
Дмитрий
только выкини все лишнее
Sergey
Ок, спасибо.
Artem
у меня много готового есть
Artem
Могу поделиться
Artem
Artem
я дообедываю =)
Sergey
а что ты вывести хочешь в списке?
Я с апи получаю списки опс на аккаунте.
Sergey
Они будут выводиться.
Sergey
Правда сомневаюсь в том, нужно ли настолько жестко привязываться к апи, или все же сохранять настройки в файл и читать с него, сообщая о различиях.
Artem
Правда сомневаюсь в том, нужно ли настолько жестко привязываться к апи, или все же сохранять настройки в файл и читать с него, сообщая о различиях.
class JFormFieldServices extends JFormFieldList { protected $type = 'services'; protected function getOptions() { $db= \Joomla\CMS\Factory::getDbo(); $query = $db->getQuery(true); $query->select($db->quoteName('params')) ->from($db->quoteName('#__jshopping_shipping_ext_calc')) ->where($db->quoteName('alias') .' = '.$db->quote('sm_courierexe')); $config = unserialize($db->setQuery($query)->loadResult()); $connection = MeasoftCourier::getInstance(); $services = $connection->servicesList(); $options = array(); if($services){ foreach ($services as $service) { $options[] = HTMLHelper::_('select.option', $service->code, $service->name); } } return $options; } }
Artem
Получаю список по api и вывожу его в селекте в доставках
Sergey
Ну вот да. Я смотрел в сторону htmlhelper, но не в таком ракурсе, так как форма вся в xml лежит
Sergey
В голове что-то начало укладываться. Спасибо @tsymbalmitia , @kernusr
Artem
Ну вот да. Я смотрел в сторону htmlhelper, но не в таком ракурсе, так как форма вся в xml лежит
Ну так? <field name="shipping_service" type="services" label="Способ доставки" description="Способ доставки" default="">
Sergey
Ну так? <field name="shipping_service" type="services" label="Способ доставки" description="Способ доставки" default="">
В джумле, в общем, канонично все свое городить, нежели использовать полностью ядро )) Пока такое впечатление. Я смотрел лишь Form, Subform классы, рылся по компонентам/плагинам. Свой тип поля не приходил в голову.
Sergey
Спасибо
Igor
будешь подключаться?
Ща с Атомом закончу и подключусь.
Sergey
Ну так ты же наследуешь стандартное поле и просто пихаешь туда свои данные
Ну, для тебя это очевидно, для меня ещё не всё. Обучение в процессе работы
Artem
Ну, для тебя это очевидно, для меня ещё не всё. Обучение в процессе работы
ну вот так можно абсолютно любые данные воткнуть в стандартные поля
Sergey
Но по факту они получаются не стандартные, а свои. Просто выглядят как стандартные потому, что макет вывода не меняется
Dmitry
Свой тип поля рулит :) без него никуда
Dmitry
это ООП! Наследуй и расширяй =)
Наследование против композиции... Но не в этом случае 😁