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

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Привет Всем!
Сейчас у меня настроена вложенность категорий в пункт Каталог (алиас shop)

При этом получаем такие урлы:
../shop/ - каталог
../shop/bejsbolki - категория товара
../shop/bejsbolki/bejsbolka-goorin-brothers-art-101-0552-temno-sinij - товар

тоесть все категории и товары находятся за /shop/

Цель - убрать категорию чтобы получить URL товара такой:
../shop/bejsbolka-goorin-brothers-art-101-0552-temno-sinij - товар

Кто-нибудь решал задачу?
Может кто роутер научил убирать категории из URL.
ДЖ версии 3.15

Готов купить решение.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Убрать категории из URL товара
« Ответ #1 : 28.02.2014, 01:31:57 »
addon jshopping_product_seo
Создание сайтов, шаблонов, помощь в решении проблем.
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #2 : 28.02.2014, 10:49:46 »
Efanych, огромное спасибо за наводку.
Поставил - URL товара стал как надо.

НО, есть проблема - из категорий урлы на товары все так же с категорией внутри. И теперь при переходе выдает 404 ошибку.
Если руками убрать категорию из URL, то выдает нормально что надо.

По итогу в аддоном имею:
в категории - ../bejsbolki
ссылки на товар - ../shop/bejsbolki/bejsbolka-goorin-brothers-art-101-0801-chernyj - которая отдает 404
ссылка  - ../shop/bejsbolka-goorin-brothers-art-101-0801-chernyj - рабочая - но в нее не попасть из категории ;(

может настройка аддона есть какая?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Убрать категории из URL товара
« Ответ #3 : 28.02.2014, 11:04:18 »
для категорий создано меню Joomla?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #4 : 28.02.2014, 11:12:57 »
Да,

У меня созданы пункты меню
- Каталог (алиас shop)
-- Категории товара (алиасы категорий)
-- Псевдокатегории (это пункты меню которые выводят товары с определенными Характеристиками товара)

Все это мне необходимо чтобы загнать все категории и псевдокатегории за /shop/
Другого способа как это сделать я не знаю.

Нашел другие ветки по той же теме. Все утыкаются в пункты меню. Решения пока не нашел.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Убрать категории из URL товара
« Ответ #5 : 28.02.2014, 11:19:13 »
коротких url совместно с меню не получится. да и зачем они вам нужны?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Убрать категории из URL товара
« Ответ #6 : 28.02.2014, 11:24:28 »
Обратитесь к пользователю Виталик.
Он мне делал правку этого плагина, чтоб в адресах пункты меню не учитывались.
Создание сайтов, шаблонов, помощь в решении проблем.
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #7 : 28.02.2014, 11:55:00 »
Огромное спасибо за помощь. пошел к Виталику )
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #8 : 28.02.2014, 11:59:31 »
Я точно знаю что решение такое уже есть. Видел уже реализацию, но сам еще не достиг такого.
Нужно банально для SEO.
Чтобы все категории и товары были в /shop
Но чтобы не могли возникнуть дубли и прочая фигня нужно убрать категории из урлов.
Ради этого и пляски.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Убрать категории из URL товара
« Ответ #9 : 28.02.2014, 12:12:10 »
Нужно банально для SEO.
это нужно вам :) для SEO это абсолютно не нужно. но об этом - не в этом топике.

Чтобы все категории и товары были в /shop
создайте 1 главную категорию - shop, и вложите в нее все остальное. все ссылки будут через /shop.

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

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #10 : 28.02.2014, 12:33:27 »
это нужно вам :) для SEO это абсолютно не нужно. но об этом - не в этом топике.
Сколько людей, столько мнений. мне seo сказали - я и делаю. честно сказать если не успею за выходные решить - будет с вложенными категориями в урле. сроки горят уже. надо сайт запускать.

создайте 1 главную категорию - shop, и вложите в нее все остальное. все ссылки будут через /shop.
Так и создано. один пункт меню Каталог. ему подчинены все остальные. Потому и вложенность как надо получилась.

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Убрать категории из URL товара
« Ответ #11 : 28.02.2014, 12:39:12 »
Сколько людей, столько мнений. мне seo сказали - я и делаю.
логично :) поэтому и говорю, что не в этом топике.

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

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #12 : 28.02.2014, 12:39:57 »
не знаете куда деть время? пишите уникальные описания товаров :)
это конечно жесткий прикол  ;D ;D ;D
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Убрать категории из URL товара
« Ответ #13 : 28.02.2014, 12:46:26 »
это и есть основа SEO...
а не то что до товара доплюнуть можно :)
краткий путь не всегда верный ;) этот фактор 100500-й в списке по степени влияния на SEO.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #14 : 28.02.2014, 12:47:14 »
не так создано. вы говорите о пункте меню Shop, а я говорю о категории Shop. Без создания для вложенных категорий пунктов меню.
а как мне урлы псевдокатегорий получить? сейчас у меня через пункт меню можно создать алиас и получить ссылку по которой вынимаются товары с определенным отбором характеристик (я это псевдокатегориями называю) - http://prntscr.com/2wj5za

Научите без меню делать - сделаю ;)
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #15 : 28.02.2014, 13:01:09 »
Все, понял.
Создал я категорию Shop http://prntscr.com/2wj7sk
Удалил пункт меню Шляпы

URL стал вложенным как надо - ../shop/shlyapa-goorin-brothers-art-100-0055-chernyj
Но теперь категория Шляпы вот такой URL - ../shop/category/view/9
И еще пседокатегории не вложить в /shop так как пункт меню Каталог тоже убран и ему не подчинить ;(

не одно так другое вылезает  :'(
« Последнее редактирование: 28.02.2014, 13:05:01 от mister_boy »
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Убрать категории из URL товара
« Ответ #16 : 01.03.2014, 01:38:45 »
Ура! Виталик меня спас. Допилил аддон. Теперь работает с пунктами меню у меня. Все четко.
Огромное ему спасибо, а так же всем за рекомендации! ))))
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Re: Убрать категории из URL товара
« Ответ #17 : 07.01.2015, 14:45:49 »
А как быть с дублями?
карточка теперь доступна как по shop/britva
так и по shop/men/britva
upd. использую аддон product seo
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться