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

Ongi

  • Захожу иногда
  • 273
  • 15 / 0
Если заходить на страницу искомого товара через каталог на главной странице, то все нормально:
" Компьютерная техника - Ноутбуки - Lenovo IdeаPаd G550-45L "

А если заходить через меню, созданное посредством Joomla, пути дублируются:
" Компьютерная техника - Ноутбуки - Компьютерная техника - Ноутбуки - Lenovo IdeаPаd G550-45L "

Как эту проблему решить?
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Попробуем исправить.


файл components\com_jshopping\controllers\category.php

Код
appendExtendPathWay($category->getTreeChild(), 'category');
поменять на
Код
if (getShopMainPageItemid()==JRequest::getInt('Itemid')){
        appendExtendPathWay($category->getTreeChild(), 'category');
        }

файл components\com_jshopping\controllers\product.php

Код
appendExtendPathway($category->getTreeChild(), 'product');
поменять на
Код
if (getShopMainPageItemid()==JRequest::getInt('Itemid')){
        appendExtendPathway($category->getTreeChild(), 'product');
        }
*

Ongi

  • Захожу иногда
  • 273
  • 15 / 0
Теперь если заходить через меню - путь показывает правильно, а если через каталог - названия категорий пропускаются: " Home - Lenovo IdeаPаd G550-45L "
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Цитировать
через каталог

каталог - что это.

лучше дайте линк на сайт.
*

Ongi

  • Захожу иногда
  • 273
  • 15 / 0
То я гоню, все нормально работает :) Под каталогом имеется в виду главная страница компонента
*

TRAFFIC

  • Захожу иногда
  • 110
  • 1 / 0
Вот-вот! Только что столкнулся с такой же проблемой.   !
Раздвоение пунктов в навигации началась сразу после того как я сделал выпадающее верхнее меню.

После приведённых здесь выше поправок - исправилось отображение категорий, но продолжает два раза показывать "Home \ Home"
Первая ссылка ведёт на http://www.mysite.ru/  , вторая - на http://www.mysite.ru/home.html
Можно ли с этим что-то сделать? SEO включён.

И нельзя ли сделать такие же поправки для списка производителей? Потому что при выборе из списка производителей из выпадающего меню - названия в навигаторе тоже дублируются.
В итоге получается что-то вроде: "Главная \ Главная \ Производители \ Китай \ Китай" ...   ^-^
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Home \ Home - к магазину не относится, а производители исправим.
*

mcmegavolt

  • Захожу иногда
  • 61
  • 0 / 0
Обнаружилась следующая проблема:

Создал скрытый пункт меню на магазин, теперь линки на корневые категории в mod_jshopping_categories имеют вид /catalog/cooper-and-hunter.html

Но линки на внутренние категории имеют такой же вид, то есть не просматривается иерархия категорий, что-то типа /catalog/cooper-and-hunter/split-sistemy.html

К тому же, если я создаю вручную пункты меню по принципу "index.php?option=com_jshopping&controller=category&task=view&category_id=#id" (Joomla 1.6.1)

То линки в меню имеют следующий вид - /component/jshopping/cooper-and-hunter.html?Itemid=146

Это же не годится никуда, кто знает как решить эти вопросы? Последний самый актуальный... Спасибо...
*

SWoz

  • Захожу иногда
  • 62
  • 0 / 1
Забыли видно исправить. В текущей версии такая же, ошибка.
*

Besa

  • Захожу иногда
  • 162
  • 4 / 0
  • В чём-то каждый умнее меня. Поэтому я спрашиваю.
Добрый день. Проблема с breadcrumbs. Все устраивает. В JoomShopping все работает, но слово "главная" на главной под горизонтальным меню под кнопкой "главная" выглядит очень лишним. Если в настройках модуля поставить "показывать только на указанных страницах" и снять галочку с главной, то модуль виден лишь на страницах на которые ссылается главное меню. В магазине работать перестает. Как можно это исправить?
*

20dollars

  • Захожу иногда
  • 235
  • 4 / 2
А такой вопрос:
Если товару tovar1 назначаю несколько категорий, напр. categ1, categ2 и categ3, создадутся дубли страницы одного и того же товара. Соответственно, во избежание чего, придется использовать сторонний SEF компонент. Однако, теперь хлебные крошки будут показывать один и тот же путь, независимо с какой категории мы этот товар открываем. Как бороться с такой проблемой?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
у товара теперь один url всегда и ведет он например в категорию 3. каким же образом модуль хлебных крошек должен догадаться что вы не его открывали, а такой же, но с категории 2?

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Цитировать
В материал я добавляю две категории
Посмотрел, либо у меня что-то с глазами, либо это не JoomShopping.

Как вовремя всплыла тема!
Добавлю немного:
Есть пункт меню "Мой профиль" (создан как тип - клиенты, страница - мои данные). Если создать дочерний пункт (тип - клиенты, страница - мои заказы) и назвать его например "Мои покупки", то в хлебных крошках это выглядит так, Главная \ мой профиль \ мои покупки \ мои заказы.
Причем "мои покупки" ведет на страницу "мои заказы" это одна и та же страница.
Если пункт меню не создавать, а переходить по ссылке со страницы профиля, то все в порядке, Главная \ мой профиль \ мои заказы.
С пунктом по изменению данных тоже самое.
Причем в адресной строке все нормально, косяк только в хлебных крошках.
Как избавиться от "мои заказы" при созданном пункте меню (тип - клиенты, страница - мои заказы)?
*

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Цитировать
Есть пункт меню "Мой профиль" (создан как тип - клиенты, страница - мои данные). Если создать дочерний пункт (тип - клиенты, страница - мои заказы) и назвать его например "Мои покупки", то в хлебных крошках это выглядит так, Главная \ мой профиль \ мои покупки \ мои заказы.
Причем "мои покупки" ведет на страницу "мои заказы" это одна и та же страница.
Если пункт меню не создавать, а переходить по ссылке со страницы профиля, то все в порядке, Главная \ мой профиль \ мои заказы.
С пунктом по изменению данных тоже самое.
Причем в адресной строке все нормально, косяк только в хлебных крошках.
Как избавиться от "мои заказы" при созданном пункте меню (тип - клиенты, страница - мои заказы)?
Сталкивался ли кто с таким?
*

Nobillis

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Здравствуйте, вылез другой бок с крошками:
Открываю страницу бренда, а крошки показывают будто я на странице категории, и так через бренд, в каких-то норм, а в каких так.
Причем у некоторых брендов вообще показывает левые страницы, например: https://kosmetika5.com.ua/american-crew/ - тут по крошкам я нахожусь на странице Оплата и доставка.
Помогите пожалуйста разобраться.
*

Nobillis

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
хотя реальная страница Оплаты и доставки нормально существует: https://kosmetika5.com.ua/pokupka-oplata-dostavka.html
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Отключите кеширование в модуле навигатор сайта (breadcrumbs)
*

Nobillis

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Не помогло(
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Дело не в навигаторе, а в модуле "Бренды". У Вас не только с этой страницей "American Crew" проблемы.

Создайте меню "Бренды", в нем создайте физические ссылки на производителей и выведите их в модуле меню справа.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль Сбероплата - перестал корректно завершать заказы

Автор urry

Ответов: 6
Просмотров: 1092
Последний ответ 28.11.2023, 17:10:54
от kit2m2
Не работает интернет-эквайринг на сайте

Автор Bommbba

Ответов: 2
Просмотров: 881
Последний ответ 10.03.2023, 14:57:06
от IgorGeneralov
Не меняется Язык по умолчанию для сайта

Автор art68

Ответов: 10
Просмотров: 1062
Последний ответ 14.11.2022, 15:49:18
от marksetter
Не работает регистрация

Автор Alex199466

Ответов: 25
Просмотров: 2909
Последний ответ 30.12.2020, 16:22:32
от sterveo
Создаю плагин Joomla для JoomShopping, не работает, что я не так делаю?

Автор Ragnarok

Ответов: 10
Просмотров: 725
Последний ответ 08.11.2020, 22:22:42
от draff