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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Округление цен
« Ответ #30 : 13.07.2013, 23:05:50 »
значит ?
ЗНАЧИТ вопрос в ИМПОРТЕ !
а не округлении... смотрите там. в импорте
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
Re: Округление цен
« Ответ #31 : 15.07.2013, 11:49:29 »
Так.  :o
Пользуюсь  NR Export UTF8 и NR Import UTF8 , смотреть в nrimportutf8.php , я так понимаю.?
*

nevigen

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

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
Re: Округление цен
« Ответ #33 : 15.07.2013, 12:37:34 »
И так, за цену отвечает только одна строка, или ошибаюсь!
$product->set("product_price", $row[4]);
Чет я в замешательстве...

Стандартный Simple Import UTF8 2.9.0, делает тоже самое!
« Последнее редактирование: 15.07.2013, 12:52:24 от sachek »
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
Re: Округление цен
« Ответ #34 : 15.07.2013, 17:09:35 »
В общем, не дописал свою мысль SDKiller, проблемка в импортируемом файле. В цене должна быть точка, вместо запятой.
Я вот теперь думаю, заменить запятые в файле или "подкрутить" пхп файл?
« Последнее редактирование: 15.07.2013, 17:21:14 от sachek »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Округление цен
« Ответ #35 : 16.07.2013, 17:04:18 »
В общем, не дописал свою мысль SDKiller, проблемка в импортируемом файле. В цене должна быть точка, вместо запятой...

Я свою мысль дописал именно в том объёме, в котором и хотел дописать.
А как воспользоваться дверью, на которую указали - выбор конкретного человека.
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
Re: Округление цен
« Ответ #36 : 18.07.2013, 17:36:37 »
Так, это все хорошо! Один вопрос решился, другой появился. 4000к. наименований, естественно каждую запятую менять на точку ни кто не будет.
Делаю следующее, Ctrl+F  найти, и заменить на . ! Но часть цен меняется некорректно, в виде даты, или просто ###.
 !
п.с. Че же так все туго то получается...  !
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Округление цен
« Ответ #37 : 18.07.2013, 17:55:55 »
Ну так

1) измените формат в обработчике, который вам готовит этот файл (в 1с - или откуда у вас эти данные выгружаются)
2) редактируйте csv-файл не в excel а в Notepad++ или другом адекватном текстовом редакторе
*

iGatto

  • Новичок
  • 5
  • 0 / 0
Re: Округление цен
« Ответ #38 : 08.12.2013, 22:31:17 »
Цитировать
Код: php-brief
<?php print('Цена округленная до сотен: '); print formatprice(round($this->product->getPriceCalculate(), -2))?>

-2 в конце это и есть округление, ставим -3 - то до тыщи округляем

А можно узнать в какой файл это вставлять?
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Округление цен
« Ответ #39 : 08.12.2013, 22:43:31 »
Это в файле вашего JoomShopping шаблона
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

x-masters

  • Захожу иногда
  • 80
  • 0 / 0
Re: Округление цен
« Ответ #40 : 05.04.2014, 21:33:23 »
Код: php-brief
<?php print('Цена округленная до сотен: '); print formatprice(round($this->product->getPriceCalculate(), -2))?>

-2 в конце это и есть округление, ставим -3 - то до тыщи округляем
А не подскажете как сделать цифру кратной 50? Я уже голову об монитор сломал...
*

nevigen

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

x-masters

  • Захожу иногда
  • 80
  • 0 / 0
Re: Округление цен
« Ответ #42 : 06.04.2014, 11:14:39 »
Спасибо, как-то не заметил, а ведь заглядывал в тот раздел. Проблему решил Price round to Params, зашел в опции - дополнения - редактировать Price round to Params и вбил 50.
Для чего нужен и где настраивается Price round to 05 я не нашел.
*

nevigen

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

sarkazzi

  • Новичок
  • 6
  • 0 / 0
Re: Округление цен
« Ответ #44 : 11.11.2014, 13:18:33 »
Здравствуйте! Вопрос немного не в тему, но по форуму бродил, ответа не нашел на мой вопрос! Он таков, если в прайсе поправить цены и вновь загрузить, товары не слетят и цены ровно запишутся? Дело  втом, что заказчик дал мне прайс без наценок, а это много или мало - более 2к наименований, в ручную править можно, но сложно! Если воспользоваться этим инструментом, цены сменятся? Заранее благодарен за ответ и еще раз простите за офтоп. Забыл сказать что использовать для этого хочу NR Import
« Последнее редактирование: 11.11.2014, 13:31:16 от sarkazzi »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

округление цены в корзине

Автор alis2004

Ответов: 0
Просмотров: 888
Последний ответ 23.04.2016, 22:08:01
от alis2004
Округление цен в админке

Автор lalalag

Ответов: 7
Просмотров: 1697
Последний ответ 17.11.2014, 20:53:25
от lalalag
Округление суммы в корзине после скидки (сумма без копеек после ввода диконтного кода)

Автор Anton shop

Ответов: 5
Просмотров: 2420
Последний ответ 01.06.2013, 21:20:47
от elvis20072008