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

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Доброго времени суток!
может кто сталкивался, делаю всплывающее окно - после добавления в корзину по принципу "продолжить покупки" или "в корзину".
делаю все без AJAX корзины.
по "продолжить покупки" нет вопросов - по клику "купить" открываю выплывающее окно, и там уже по клику ""продолжить покупку добавляю товар в корзину POST,  а как сделать добавить в корзину и перейти сразу в нее что то не соображу ведь происходит перезагрузка страницы?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #1 : 14.09.2017, 00:08:58 »
или что то у вас с логикой не того, или ничего не понял. Продолжить покупки - это должно быть просто закрытие окна. товар ведь уже добавлен в корзину.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #2 : 14.09.2017, 19:11:29 »
вы не поняли вопрос
Цитировать
а как сделать добавить в корзину и перейти сразу в нее
по продолжить покупку нет вопросов
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Добавить и перейти в корзину
« Ответ #3 : 14.09.2017, 19:16:43 »
.... а как сделать добавить в корзину и перейти сразу в нее что то не соображу ведь происходит перезагрузка страницы?

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

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #4 : 14.09.2017, 19:50:34 »
тогда и вторая кнопка - переходит сразу в корзину
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #5 : 14.09.2017, 21:23:23 »
вы не поняли вопрос
вопрос я понял. логику - нет :)

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

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #6 : 14.09.2017, 21:29:17 »
или что то у вас с логикой не того, или ничего не понял. Продолжить покупки - это должно быть просто закрытие окна. товар ведь уже добавлен в корзину.
нет, добавление в корзину происходит после нажатия в окне кнопки купить. тоесть в карточке нажимаю кнопку купить - открываю окно в котором при нажатии на кнопку "купить..." происходит стандартно добавление товара в корзину и обновление страницы.

я понимаю что окно должно модальное должно по логике появиться уже после добавления в корзину, но я не нашел где вставить окно которое бы вывелост после обновления страницы
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #7 : 14.09.2017, 22:02:37 »
вот об этом я и говорю. у вас напутана логика изначально, поэтому все решения которые на ней основаны будут неверные. окно надо открывать только после добавления в корзину. В корзину должен быть просто переход в корзину, обычная ссылка. а кнопка Продолжить покупки должна просто закрывать его, а не как у вас добавлять товар. это вообще в корне неверно, Продолжить покупки означает только то, что покупатель еще не все выбрал, и хочет вернуться в магазин, чтобы еще добавить товаров в корзину, а не переходить сейчас к оформлению заказа. у вас назначение кнопки противоречит здравому смыслу, вы будете вводить в заблуждение заказчиков. покупатель уже нажал Купить, а вы его еще раз заставляете подтвердить намерение. даже не видя магазин могу сказать что у 99% клиентов будут вопросы почему после нажатия Купить его корзина по прежнему пуста.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Добавить и перейти в корзину
« Ответ #8 : 14.09.2017, 22:12:43 »
я понимаю что окно должно модальное должно по логике появиться уже после добавления в корзину, но я не нашел где вставить окно которое бы вывелост после обновления страницы
После перезагрузки страницы сообщение появляется типа "Товар добавлен в корзину"? В языковом файле к тексту "Товар добавлен в корзину" пропишите ссылки "Продолжить покупки" и "Перейти в корзину". А блок с сообщением через CSS крутите как хочется
« Последнее редактирование: 15.09.2017, 05:44:14 от Tuzemec »
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #9 : 14.09.2017, 22:16:35 »
После перезагрузки страницы сообщение появляется типа "Товар добавлен в корзину"? В языковом файле к тексту "Товар добавлен в корзину" пропишите ссылки "Продолжить покапки" и "Перейти в корзину". А блок с сообщением через CSS крутите как хочется
а где включить эту функцию?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #10 : 14.09.2017, 22:32:03 »
А блок с сообщением через CSS крутите как хочется
верно, это самый просто вариант.

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

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Re: Добавить и перейти в корзину
« Ответ #11 : 14.09.2017, 22:40:24 »
components/com_jshopping/lang/ru-RU.php
строка 23
define('_JSHOP_ADDED_TO_CART', 'Товар добавлен в корзину.<a href="Ссылка на корзину">Перейти в корзину</a>');
« Последнее редактирование: 14.09.2017, 22:48:11 от Tuzemec »
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #12 : 14.09.2017, 22:44:03 »
само это системное сообщение о добавлении появляется у вас? если нет - то надо смотреть шаблон Joomla будет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #13 : 14.09.2017, 23:26:52 »
да, отлично, это я понял - но не получается теперь вывести сообщение ни в системном окне а просто в div
Код
function getMessageAddToCart(){
if ($this->type_cart=="wishlist"){
$message = _JSHOP_ADDED_TO_WISHLIST;
}else{
$message = _JSHOP_ADDED_TO_CART;
}
extract(js_add_trigger(get_defined_vars(), "before"));
return $message;
}
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Добавить и перейти в корзину
« Ответ #14 : 14.09.2017, 23:28:28 »
зачем вам не в системном окне? выводите как выводится, ничего там не трогайте. просто стили CSS задайте для этого дива такие, чтобы системное сообщение было например как display:fixed или absolute. плавающее, в общем.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

seffpapy

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Добавить и перейти в корзину
« Ответ #15 : 14.09.2017, 23:55:53 »
спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обновление количества товаров в корзине без кнопки "Обновить корзину"

Автор kit2m2

Ответов: 4
Просмотров: 2806
Последний ответ 23.07.2024, 12:23:33
от Шрек
Как добавить количество товара возле кнопки купить в списке товаров?

Автор Prosever

Ответов: 3
Просмотров: 2907
Последний ответ 17.04.2023, 23:56:52
от tigra-uki
Огромное количество кликов на корзину

Автор itbc

Ответов: 13
Просмотров: 1128
Последний ответ 16.02.2020, 13:38:49
от itbc
[Решено] Добавить обязательный чекбокс при оформлении заказа

Автор dron

Ответов: 14
Просмотров: 1075
Последний ответ 21.04.2019, 12:22:26
от dron
Добавление товаров в корзину которых уже нет

Автор DenVeR777

Ответов: 17
Просмотров: 804
Последний ответ 12.04.2019, 16:49:38
от DenVeR777