Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 1763 Просмотров
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Здравствуйте, у меня магазин где я пытался работать с более чем 30000 товаров, долгое время думал что закралась какая-то проблема в мой магазин и поэтому он работает так медленно, в конце концов я решил его пересоздать на Joomla 3.3, потратив кучу времени на установку и настройку, думал что всё будет работать быстро, и работало, пока я не начал импортировать товар, с каждой тысячей я получал + 1 секунду в загрузке, и очень удивился, когда в новом магазине всё стало работать по старому.

Хостер очень ругался на мой старый магазин, заставил меня взять VPS сервер, подключил CDN кеширование, + обычное кеширование и т.п... всё это в какой-то степени помогло, но другие магазины минимум выигрывали в 2-3 раза по скорости всё равно. Я попросил тестирование у хостера, чтоб они помогли определить какой модуль или компонент становиться причиной тормозов, мне сказали что причина com_jshopping, я тогда не придал этому нужное значение, но пересоздавая свой магазин  я понял что проблема действительно в самом компоненте.

Я попытался разобраться в самой сути и провёл 60 часов тестов, кучу раз обнулял базу из бекапа, и импортировал товар при помощи Addon Universal CSV Import. Я конечно не специалист, но что я смог наблюдать изложу ниже...

При большом кол-ве, такое ощущение что при переходе по страницам сайта компонент втыкает несколько секунд как будто куда-то лезет за какой то информацией, при этом это может длиться 10 и более сек, при большом кол-ве. Я так понимаю что проблема в самом алгоритме, толи он сперва все запросы собирает, а потом только в базу лезет, толи пока все запросы из базы не запросит отображать ничего не начинает, что-то в этом роде. Кроме того даже если мы переходим на страницу где нет товара вообще, например материал, сильно это нас не спасает и разница в увеличении скорости примерно 20% (тоесть не 10, а 8 секунд :)).

Addon Universal CSV Import и Export также не работают нормально с большим объёмом данных, нормально с 1000, максимум до 5000, но это если очень повезёт, на практике очень часто бывают ошибки, а если нужно сразу что-то сделать с 10000 позиций - то вообще не работает. Похоже что основная проблема связана с не возможностью выставления времени выполнения скрипта, такая же проблема и в аддоне Resize Products.

В целом у меня стало складываться ощущение что JoomShopping вообще заточен на магазины до 1000 товаров, а как же быть, если человек захочет сделать что-то вроде этого rozetka.com.ua или Amazon.com не ужели это не возможно на ЖШ?

Мне нужен ну хотя бы вот такой магазин http://hitonline.ua. у них несколько десятков тысяч товаров, а по ощущению грузиться меньше секунды.

По тестам на сайте http://tools.pingdom.com сайт hitonline.ua через 0.7 секунды начинает грузить 158 запросов, общий вес 3,7мб, общее время 4.76 сек. По ощущению сайт грузиться менее 1 секунды.

Мой тестовый сайт http://riffmusic.com.ua/riffmusic/magazine/category/view/17.html, на ЖШ, имея 29 категорий, около десятка производителей и около 3000 товаров, показал вот такие результаты - после 27 сек втыкания, он стал грузить 58 запросов, общий вес 2,8мб, общее время 33,05 сек :) Что-то нужно решать наверное.... Главная страница тест-сайта http://riffmusic.com.ua/riffmusic/ при 108 запросах, и весе 4.2мб поставила рекорд... втыкала 45сек, при общем времени 56,32сек.

очень хотелось бы чтобы как-то доработать компонент чтобы средние и большие магазины могли хоть более менее работать. Тут много знающих людей... может кто нибудь предложит достойные варианты решений...

Что скажете?...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Проблемы с компонентом JoomShopping
« Ответ #1 : 06.06.2014, 08:42:07 »
ЖШ прекрасно работает с 30000 товаров. у вас тормоза видны, а причины - нет. хотя бы включите отладку в Joomla
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Проблемы с компонентом JoomShopping
« Ответ #2 : 06.06.2014, 11:48:54 »
пробовали не тянуть разные ресурсы ?
например фонты с Google и т.д.
дожо вам обязательно надо ?

посомтрите отладку может чета найдете
воспользуйтесь PageSpeed может тоже что то подскажет..

ЖШ переваривает и 30к и 50к без вопросов.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #3 : 07.06.2014, 03:39:18 »
Отладку включил, кто хочет может пошастать, может какая идея у кого-то возникнет.
http://riffmusic.com.ua/riffmusic/

Цитировать
пробовали не тянуть разные ресурсы ?
например фонты с Google и т.д.
Может это конечно в каком-то плане и можно настраивать, но не думаю что это так будет существенно. Ведь сайт без товаров просто супер летает, а с товарами вообще еле работает.
Может я ошибаюсь но мне кажется что дело точно не в этом.

Кому интересно полазить, могу доступ в админку создать. Ща я подключил БД с товарами и многими плагинами, но до этого была почти пустая база и ситуация кардинально не менялась. Чуть стало лучше, когда отключил меню. Ща стоит второе сбоку для навигации.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Проблемы с компонентом JoomShopping
« Ответ #4 : 07.06.2014, 08:56:57 »
не знаю что там у вас без товаров летает, но как по мне все довольно ясно.

Цитата: Результаты профилирования
Время: 550.7 ms / 834.7 ms Память: 1.171 MB / 15.26 MB Application: afterRenderModule mod_news_pro_gk5 (Новости Статьи Обзоры)

ну и заодно

Цитата: Результаты профилирования
Время: 139.6 ms / 1004.1 ms Память: 1.917 MB / 17.95 MB Application: afterRenderModule mod_accordionmenu (Подкатегории)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: Проблемы с компонентом JoomShopping
« Ответ #5 : 07.06.2014, 09:10:27 »
модули надо отключать по одному и смотреть
UPD.  а, выше уже намекнули)))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #6 : 07.06.2014, 11:04:04 »
Ой спасибо Вам Дмитрий! А что это такое? 139.4 ms / 139.4 ms Память: 6.657 MB / 7.27 MB Application: afterInitialise

И подскажите пожалуйста какое мега меню используете вы.
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #7 : 07.06.2014, 13:27:28 »
А зачем дублировать модуль категорий в топ меню?
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #8 : 07.06.2014, 13:41:48 »
Зачем - это вопрос 2ой, может не буду, главное чтоб было удобно, я планирую немного подредактировать структуру, но нужно хорошее мега меню, которое не ложило бы сайт.
*

irc-h

  • Захожу иногда
  • 158
  • 8 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #9 : 09.06.2014, 21:48:43 »
У меня от вашего творения FireBug сначала взбесился, а потом залип.
Не используйте варезники и будет вам счастье.

P.S.-> Про тормоза спросите того, кто Вам гавиковские модули под JoomShopping пилил.
P.S.S> После таких просмотров задумываешься над отключением скриптов в браузере.
« Последнее редактирование: 09.06.2014, 22:00:38 от irc-h »
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #10 : 10.06.2014, 10:57:43 »
P.S.S> После таких просмотров задумываешься над отключением скриптов в браузере.
Дааааааааааааа, Вы правы  :o из 147 запросов к серверу 41= script . только этот чего стоит mootools-more-uncompressed.js :'( . плюс двойная подгрузка jquery.js версий 1.11 и 1.9.1  >:(
дальше не смотрел  8)
« Последнее редактирование: 10.06.2014, 11:01:39 от ViktorMah »
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Re: Проблемы с компонентом JoomShopping
« Ответ #11 : 11.06.2014, 01:37:08 »
Для - irc-h:
В том-то и дело что платные почему-то часто работают ещё хуже. например JSE MEGA MENU для JoomShopping вообще весь сайт ложило. Обратился к разработчикам, а они посоветовали поставить 3000 сек на выполнение скрипта :)
Гавиковские модули сам пилю, немного подстроил, если можно что-то улучшить подскажите...

Для - ViktorMah:
jquery 2ую выключил, забыл в одном из модулей проверить. А как убрать mootools-more-uncompressed.js?
Если что ещё подскажете - буду благодарен.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35708
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 625
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1400
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2046
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1355
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav