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

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Переменные JoomShopping
« : 13.08.2014, 09:54:02 »
Здравствуйте.
В товарах выводятся изображения, которые при загрузке получают размеры, указанные в параметрах.
Выводятся в ячейках таблицы.
Убрал вывод "noimage" если картинки нет, и чтобы не съезжало, хочу ячейке <td> придать ширину, равную ширине изображений из параметров. Чтобы на одном уровне были товары с картинками и без.
В переменной $this есть параметр image_product_width , который и содержит необходимые данные...
Как вывести значение этой переменной?
пробовал $this->image_product_width  - не работает...
*

Ramov

  • Новичок
  • 2
  • 4 / 0
Re: Переменные JoomShopping
« Ответ #1 : 13.08.2014, 10:37:14 »
Попробуй к значению ширины добавить "px".
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #2 : 13.08.2014, 10:38:49 »
Не выводится само значение) на его месте пустое место.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Переменные JoomShopping
« Ответ #3 : 13.08.2014, 11:58:21 »
что мешает задать жестко сразу в шаблоне ?
размер то знаете.
бубен зачем ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #4 : 13.08.2014, 12:19:16 »
ну это сейчас я захотел 100px, а потом 200, а потом 64... раз параметры и так есть, зачем костыли...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #5 : 13.08.2014, 13:02:11 »
Цитировать
В переменной $this есть параметр image_product_width , который и содержит необходимые данные...

Код: php
$this->config->image_product_width
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #6 : 13.08.2014, 14:45:45 »
спасибо большое)
не поделитесь тем, как вы определили, что оно там в config ? как отследить это, чтоб не каждый раз спрашивать что где...
например, по такому же примеру надо и в категориях сделать вывод картинок категорий) а там подобная конструкция уже не работает...
« Последнее редактирование: 13.08.2014, 15:09:55 от ShutTap »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #7 : 13.08.2014, 16:17:53 »
Цитировать
не поделитесь тем, как вы определили, что оно там в config ?
image_product_width - это свойство конфигурации ЖШ. конфигурация определяется как JSFactory::getConfig() и в свою очередь передается в контроллере во view свойством config.

Цитировать
в категориях сделать вывод картинок категорий) а там подобная конструкция уже не работает
не работает только в главной категории. внутри какой либо категории работает. а для maincategory можно прям внутри шаблона сделать JSFactory::getConfig()->image_product_width
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #8 : 13.08.2014, 16:33:07 »
Спасибо большое)
Знающий человек :)
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #9 : 14.08.2014, 08:14:53 »
Еще один вопрос
В других компонентах можно было в .xml добавлять свои параметры, переменные (которые через административную панель настраиваются), а где такое в JoomShopping находится? Что-то не нашел...
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Переменные JoomShopping
« Ответ #10 : 14.08.2014, 08:30:17 »
Нигде. ЖШ построен по другому
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #11 : 14.08.2014, 08:46:43 »
как тогда добавить свои настройки?

мне нужно при сортировке категорий чтобы сортировка была не только по имени, id и тп, но и еще по дополнительным полям. Как бы их сделать, и сортировку по ним.. в категориях.
И как при сортировке (фильтр на странице материалов каталога) материалов указать поля, отличные от предустановленных?
« Последнее редактирование: 14.08.2014, 13:50:05 от ShutTap »
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #12 : 14.08.2014, 16:24:40 »
То есть, хочу чтобы extra_fields автоматически выводились в поле сортировки, и можно было по одному из этих полей провести сортировку в материалах.
а у категорий помимо имени и ID было хотя бы 2 еще параметра, по которым можно было бы отсортировать, которые бы задавались у категорий в панели администрирования.
*

dmitry_stas

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

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #14 : 14.08.2014, 16:54:15 »
там по материалам, и задаются они вручную, а как получить доступ к полям extra_field автоматически?
и по каталогам вообще никак...
можно наверное по ключевым словам, которые в категориях можно указsdать, выполнять сортировку.. а как к ним доступ получить?
так и не понял, как вывести список доступных переменных... 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #15 : 14.08.2014, 19:46:51 »
по каким материалам? и по каким каталогам? :) вы не путаете сортировку и фильтрацию?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #16 : 15.08.2014, 08:03:49 »
не путаю) каталоги в смысле категории))
В выбранном каталоге есть стандартные сортировка и фильтрация (фильтрация у меня отключена) по материалам, файл где редактируются поля сортировки нашел, но проблема как получить доступ к extra_field, чтобы добавить их автоматически потом.

А еще есть модуль, который выводит категории как меню. В нем сделал сортировку, но поля надо прописывать вручную, и кроме ID и имени нужны дополнительные поля, по которым можно было бы отсортировать. Вот надо добавить эти поля, либо, что наверное более реально, сортировать по META title, META description полям, которые уже есть... писать просто в них нужные характеристики... вот к ним доступ тоже не знаю как получить. через jshopConfig они не доступны...

(под extra_field автоматом имею в виду не extra_field_ID вбивать каждый раз, а может есть массив какой-нибудь, чтоб че-нить типа count(prod.extra_fields)? )
« Последнее редактирование: 15.08.2014, 09:41:24 от ShutTap »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #17 : 15.08.2014, 11:20:07 »
все, я запутался :) вы понимаете, что описано по ссылке той которую я дал? давайте так: вы напишите, что вы сделали, и что у вас не получилось. так будет наверное проще.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #18 : 15.08.2014, 11:50:21 »
есть:
1. Категория, внутри которой стандартная сортировка (фильтр отключен за ненадобностью). В сортировке поля лишние убраны, и нужно добавить сортировку по характеристикам товара (которые extra_field), но хотелось бы сделать так, чтобы не вручную прописывать extra_field_XX, а на автомате все что есть.

2.Модуль вывода категорий как пунктов меню. Внутри него так же сделана сортировка, но помимо сортировки по Имени и ID хотелось бы сделать сортировку по некоторым другим параметрам. Как эти параметры добавить в категорию, и если никак - можно ли использовать поля META title, META description и тд в этих целях и как их получить? (как получить эти переменные?)

То есть, как я понял, все опять упирается в названия переменных, как их получить?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #19 : 15.08.2014, 12:22:31 »
1. ну я так понимаю, что сам процесс формирования списка для сортировки вам понятен, но не понятно, как получить все характеристики? тогда JSFactory::getAllProductExtraField() должно помочь. ну и в цикле потом добавить их в массив для сортировки.

2. знаете сколько существует модулей вывода категорий как пунктов меню? если стандартный - то там используется \components\com_jshopping\tables\category.php function getSubCategories , в которой задается $orderby. определите его так, как вам надо (некоторые другие параметры)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #20 : 15.08.2014, 12:33:55 »
дааа, 1 - то что надо!) спасибо:)
по поводу второго, это понятно, попробую уточнить...
В параметрах категорий можно задать картинку, название, описание и META title, META description, META keywords.
Других параметров нет. То есть, и сортировку можно проводить только по этим полям, раз других нет. А мне нужны как раз другие. Чтобы у каждой категории задать еще 2-3 параметра, по которым можно было бы сортировать именно категории.
Вопрос в том, что в других модулях можно было в .xml их прописать, а как тут задать - не знаю. И если это нереально (или оч сложно), можно использовать значения META title, META description, META keywords ? По идее можно, чем не параметры... Но тогда опять вопрос - как их получить? Наподобие как с первым пунктом вы подсказали JSFactory::getAllProductExtraField(), а как тут?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #21 : 15.08.2014, 13:58:45 »
как то не ладится разговор... хорошо хоть с п.1 разобрались :)

Цитировать
Модуль вывода категорий как пунктов меню. Внутри него так же сделана сортировка

какая сортировка? вы ее сами сделали? так же, как сортируется список товаров? или как? или вы имеете в виду порядок категорий, который задается в админке модуля? тогда я по поводу этого все написал в предыдущем посте. если это стандартный модуль категорий, то там используются стандартные функции выборки категорий, и там в той функции жестко заданы 3 возможных варианта сортировки - id, name, ordering. если надо не стандартный, например для русского языка META title - meta_title_ru-RU, то его надо явно указывать в той функции.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #22 : 15.08.2014, 14:13:06 »
Сортировка порядка вывода категорий, сам пользователь выбирает сортировку. На основе http://joomshopping.pro/download/module-category.html вот этого.

допустим, в категориях я хочу указать еще параметры, например, назначение и группа. и чтобы сортировалось по их значениям. я могу добавить где-то в настройках или хз где как в других модулях в .xml параметры эти у категорий? если нет, то meta title и др meta - в них можно занести любую информацию? То есть, я в эти мета могу занести назначение и группы, и использовать при сортировке?
или же там эти параметры используются как-то по-другому, и я не могу ими так воспользоваться
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Переменные JoomShopping
« Ответ #23 : 15.08.2014, 14:19:15 »
вы меня не слышите? или я не понятно вопросы спрашиваю? я не могу понять, как вам можно помочь, если кроме вас никто не знает, как у вас сделана сортировка? я очень счастлив, что вы взяли какой то модуль категорий, и сделали на его основе сортировку. вы понимаете, сколько есть вариантов реализации этого? откуда кому знать, какой из способов вы выбрали, и как именно выбираются категории при этой вашей сортировке? в общем, сори, меня на больше не хватает. не будем портить нервы, остановимся на решенном первом пункте :) второй - еще с кем нибудь :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #24 : 15.08.2014, 14:37:46 »
... мы друг друга не поняли) что с меня надо? задача такая:
по самой сортировке нет вопросов, вопросы по полям.
можно ли добавить так поля, чтоб по ним можно было сортировать? (на картинке)


если так сделать нельзя, то можно ли мета использовать как подобные поля и по ним сортировать? Если да, то как обратиться к этим полям? (на картинке)



Еще по поводу первого пункта вопрос возник... в файле default_config.php когда вставляю JSFactory::getAllProductExtraField() для получения полей выдает ошибку БД... но в файлах views нормально. Как сделать правильно?
« Последнее редактирование: 15.08.2014, 16:55:53 от ShutTap »
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #25 : 18.08.2014, 08:18:50 »
Не подскажите?
Как добавить свои переменные в настройки
« Последнее редактирование: 18.08.2014, 08:58:55 от ShutTap »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Переменные JoomShopping
« Ответ #26 : 18.08.2014, 09:38:39 »
взять и добавить руками
/components/com_jshopping/lib/default_config.php

простите у Вас вопросы трудные для восприятия..
Вернее для осмысливания.
Если Вы хотите, чтобы какой-то знающий человек Вам что-то ответил, то вопрос должен быть четким и лаконичным.
Потому что тот кто может ответить, обычно занят делом, и ему некогда вникать в Ваши домыслы о том существует ли жизнь на Марсе.
Правильно заданный вопрос содержит 90% ответа.

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

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #27 : 18.08.2014, 10:28:18 »
Извините, стараюсь как можно точнее выражать свои вопросы...
А как сделать, чтобы эти параметры отображались и редактировались в административной панели? как у других компонентов в .xml когда прописывается?
чтобы сделать как на скриншотах в сообщении выше

и старые вопросы:
как обратиться к полям meta description, title в каталоге?
как получить список переменных extra_field в /components/com_jshopping/lib/default_config.php ? (предложенный способ JSFactory::getAllProductExtraField() там выдает ошибку. или что не так делаю)

А если вручную прописывать в стандартной сортировке в каталоге переменные prod.extra_field_1 2 3 и тд, то ошибки не выдает, но и сортировки не происходит... почему?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Переменные JoomShopping
« Ответ #28 : 18.08.2014, 10:37:58 »
А как сделать, чтобы эти параметры отображались и редактировались в административной панели? как у других компонентов в .xml когда прописывается?
опять странный вопрос.
1. вставить в шаблон настроек поля
2. добавить обработку и запись.

как получить список екстра_филдс.
Вам ответили. Что Вы делаете не так ?
В соседнем павильоне идут съемки "Битва экстрасенсов", может они более компетентны в подобных вопросах ?

А если вручную прописывать в стандартной сортировке в каталоге переменные prod.extra_field_1 2 3 и тд, то ошибки не выдает, но и сортировки не происходит... почему?
Потому что если поставить в гостинной телевизор, он смотрится красиво, но если не включать его в розетку он не работает.

П.С. Ваши вопросы имеют характер.
Я тут в соседнем гараже изобретаю вечный двигатель, но у меня не получается.
как его сделать ? Что делаю не так  ?


Может конечно разработчики ответят.. им виднее.


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

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Переменные JoomShopping
« Ответ #29 : 18.08.2014, 12:57:01 »
а, там в бд еще таблицу надо было создать... вопрос отпал, спасибо)
---
print_r (JSFactory::getAllProductExtraField()) выводит список всех элементов внутри, как двумерный массив. как вывести определенные поля из определенных extra_field ?
пробовал как с двумерным массивом, print JSFactory::getAllProductExtraField()[3]["name"] ;  - не работает. как правильно?
И где их подключить, как вы говорите?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35706
Последний ответ 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
Просмотров: 2045
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

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