Новости 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 Гость просматривают эту тему.
  • 42 Ответов
  • 2707 Просмотров
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Всем привет! Нужна помощь в оптимизации скорости работы сайта на JoomShopping.
VDS CentOS 6.9. 2 cores 2.66+ GHz Процессор и 2 Gb DDR3 ECC.
Каталог сейчас насчитывает около 150 тыс товаров.
Одна проблема - скорость загрузки любой страницы из каталога 8-9 секунд. Показатель TTFB - 7-10 cекунд.
По настройкам сервера проводилась оптимизация но результата это не принесло. Скорее всего нужно оптимизировать запросы к базе.
Кто знает прошу помочь решить проблему. Сайт http://www.dineris.com.ua
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
у ЖШ нет проблем с таким количеством, оптимизировать особо нечего. все и так должно если не летать, то бегать. версия используется последняя? включите режим отладки, и посмотрите на чем такой провал. что за модуль категорий у вас используется? попробуйте его отключить, в очень многих модулях категорий проблемы.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
старенькое все там у вас стоит....
3.3.3 и  4.6.1 это уже древнее и не безопасное....

мало того http://prntscr.com/hhmhr3 очень практично...
ну и да категорий  увас....:)
причем насолкько я понимаю еще и товары в родителе и дочке...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
мало того http://prntscr.com/hhmhr3 очень практично...
Это потому что лайбокс в списке, если хотите скорости убирайте. У Вас и главная не быстро грузиться... Значит дело не JooShopping Скрипты и стили нужно оптимизировать (включить сжатие, убрать лишнее), ну и с картинками нужно что-то решать. У Вас только главная - почти 2мв.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Я пробовал ставить эту базу товаров на чистую Joomla 3.8.2 и самый новый JoomShopping. результат тот же.[/size]
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так пробовали. или была такая "чистая". еще раз - у ЖШ нет проблем с количество товара в 150К. и с 300К тоже нет. это уже проверено неоднократно. зато у сторонних модулей - их полно, этих проблем. включите режим отладки, и посмотрите в консоли на чем такой провал в скорости, что именно будет долго выполняться.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
нужно оптимизировать запросы к базе.
Включите лог медленных запросов myqsl , и там все будет видно .
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Это потому что лайбокс в списке, если хотите скорости убирайте. У Вас и главная не быстро грузиться... Значит дело не JooShopping Скрипты и стили нужно оптимизировать (включить сжатие, убрать лишнее), ну и с картинками нужно что-то решать. У Вас только главная - почти 2мв.
это безусловно все важно, и с этим тоже надо работать, если хотим хоть каких то вменяемых позиций в поиске. но там основной вопрос именно в бекенде, а не на фронте - http://prntscr.com/hhms5u
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
консоль на сайте включена, если можете гляньте пожалуйста. Модули отключал все, ничего не меняется.[/size]
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
та не надо кеширования. кеширование - это уже когда речь пойдет о борьбе за сотые долях секунды выигрыша. а сейчас то, о чем я и говорил - http://prntscr.com/hhncta . во первых старая версия ЖШ. во вторых модуль категорий.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Ну почему доли секунды- закешировать тот же модуль категорий и будет выигрыш в эти несколько секунд. Имхо, это проще, чем переделать все категории в пункты меню.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
это проще, чем переделать все категории в пункты меню.
так этого и не надо делать :) надо просто поставить текущую версию ЖШ, а также модуль категорий, который формирует дерево категорий без 100500 циклов и запросов.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Итак, чтобы сразу все стало понятно я скачал и поставил чистую Joomla 3.8.2 и еще поставил самый новый JoomShopping 4.16.3. После этого залил в нее 88 тис товаров.
Скорость работы можете оценить сами...
Откройте на сайте пункт меню "Каталог товаров"[/size]
http://dineris.com.ua/new/
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Каждый все равно остался при своём мнении, что тут оценивать то?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Итак, чтобы сразу все стало понятно я скачал и поставил чистую Joomla 3.8.2 и еще поставил самый новый JoomShopping 4.16.3. После этого залил в нее 88 тис товаров.
Скорость работы можете оценить сами...
чтобы все было понятно, надо упоминать что помимо 88 тыс товаров присутствуют еще ни много ни мало 68 тыс категорий :) что они стесняюсь спросить делают у вас в таком количестве?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
чтобы все было понятно, надо упоминать что помимо 88 тыс товаров присутствуют еще ни много ни мало 68 тыс категорий
Это да, перебор, но что такое 68000 записей для базы данных? Смотрю запрос, простейший:

Забыли индекс сделать, ускорился бы сотни раз.

И второй точно такой-же и уже не для категорий

Индекс не используется. А где оптимизация ваша хвалёная?

Это всё конечно тормозное, но если бы у автора нормально был оптимизирован Mysql, то было бы включено кэширование запросов, такого бы хватило:
Цитировать
query_cache_size= 128M
query_cache_limit=32M
query_cache_type=1

Запросы эти протупили бы ровно один раз и дальше уже летало бы, ну и после записи новых товаров снова возможен был бы затуп. Но всё в целом работало бы намного веселее, но похоже Mysql не оптимизировали под большое количество товаров
« Последнее редактирование: 03.12.2017, 11:16:48 от ChaosHead »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Это да, перебор, но что такое 68000 записей для базы данных?
так и есть, 68К для базы - мизер. вопрос в дальнейшей обработке. навскидку, для MySQL выделено маловато памяти, и не все в ней помещается. и MySQL вынуждена работать с диском, что собственно и приводит к такому времени запроса. плюс вот это еще http://prntscr.com/hiep2u . что там происходит в течении 6 секунд для 32 товаров мне честно говоря не очень понятно... ТС, это точно чистый ЖШ и Joomla, без каких либо дополнительных плагинов?

Индекс не используется. А где оптимизация ваша хвалёная?
использование индекса тут технически невозможно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
68к категори и 88к товаров...
это что почти по 1 товару в категории ?
бред какой-то
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
бред какой-то
ага, что-то пошло не так :) но это вопрос больше организационный, и на техническую часть он не должен особо влиять...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
та там каике-то булды в базе скорее всего от "правильного" импорта
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Я не особо спец, в таких делах и мало что посоветовать могу  ^-^. Но пожалуй мнение выскажу. На странице подключается столько разных CSS и JS неужели нельзя их для начала сжать, а может и совместить. Потом загрузка нескольких шрифтов из гугл, причем 2 одинаковых
http://prntscr.com/higyrq
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Проблема решена путем стирания алиасов в таблицах категорий и продуктов. Теперь вместо них в ссылке идет не транслит, а просто номер категории и товара. Вот http://www.dineris.com.ua/index.php/oborudovanie-dlya-gazonov-and-oborudovanie-dlya-lesa

Спасибо всем кому была не безразлична моя проблема! Без Вас я бы не смог найти решение! Именно Вы заставили меня пройтись по всем пунктам правок и найти решение!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Теперь вместо них в ссылке идет не транслит, а просто номер категории и товара
Где-то сейчас плачет сеошник  ;D
У вас все ссылки в индексе полетят...
Хотя, конечно, производительность явно выросла.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну оно то конечно хорошо, что теперь быстро... только обычно надо пройтись, и всем проставить, а не наоборот...

P.S. кстати такая реакция по скорости подтверждает догадку о нехватке памяти. просто не хватает, и приходится юзать файлы, а диск наверное не SSD, и это медленно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dineris

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Проекту только две недели, сайт толком еще не проиндексирован поисковой системой, предположительно в базе будет 600тис. товаро и 100тис категорий.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
предположительно в базе будет 600тис. товаро и 100тис категорий.
опуская реплику о неправильной структуре, могу сказать одно: для комфортной работы (т.е. такой, какой она должна быть в магазине такого уровня) мощности вашего сервера будет явно недостаточно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

wishlight

  • Гуру
  • 5062
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
Интересно почему алиасы приводили к лагам. А вообще php 7 и nginx + железо и ПО новее и было бы счастье.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
все равно как-то не правильно.
хотя поисковики и в таком виде съедят, наверно, с учетом количества запредельного.
но все же интересно, можно ли без таких жертв обойтись.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

Ответов: 1
Просмотров: 626
Последний ответ 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