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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Здравствуйте. Началась какая то ерунда. Ничего не трогали. Ситуация такая:

 -Заказывает клиент через сайт например 1 конфету стоимостью 300 руб.
 -заказ оформляется нормально, со стороны пользователя всё ок, то есть он видит в итоге 1 конфету за 300 рублей + доставка, заказ оформлен, клиент доволен, сидит на работе, бездельничает, ждет конфету, глаза круглые.
 -а вот в админке, в истории заказов, и менеджеру отправляется другое письмо, рандом полный: отправляется 1 конфета - 300 руб. , плюс с какого то перепугу дописывается например 1 шоколад за 500 руб. А стоимость остается правильной, то есть 300 руб+ доставка (шоколад хоть и добавляется, но в цену не вписывается)
 - менеджер в итоге думает, что за фигня тут, че за дурдом, цена неправильная, и прибавляет шоколад, который клиент и не заказывал, получается 800 руб + доставка. Думали сначала что калькулятор плохо считает, оказалось хуже.
 - далее визги, крики, мордобой, курьер обмазан шоколадом, 5 трупов, ничего хорошего.

Шо делать ? Где генерируется это письмо итоговое на отсылку ? Кэши всякие отключены, откуда вообще могут рандомно добавляться непонятные товары.
*

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Нашел тут какую то тему не совсем решенную, но уже ближе. Вобщем с сайтом что то случилось в январе, и стерты все заказы и т.д. (я тогда этим сайтом не занимался).  Так вот, во всех неправильных заказах со вчерашнего дня, где добавляется левый товар, если в админке выбрать заказ(компоненты-joomshopping-заказы-заказ№00000694 к примеру), далее там справа нажать "историю заказов" то в истории заказов по 2 пункта:
- 2013-10-07 20:08:47   notify_customer    Зарегистрирован и принят в обработку   
- 2014-02-10 21:02:17   notify_customer    Зарегистрирован и принят в обработку   
В нормальных заказах по одному пункту, 2014 год.
А в кривых с позавчерашнего дня, походу номера заказов начали совпадать с 2013 годом, и в новые заказы добавляется товар из 2013 года. Не все наверно стерто было при проблемах на сайте в январе, осталось найти и стереть историю заказов, которые на сервере хранит JoomShopping, где они ? Поищу.
*

nevigen

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

dmitry_stas

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Не помогает изменение  "Нумерация следующего заказа будет начата с", заказы с 2013 года тупо добавляются по порядку какому то. Сделать что ли на 3 месяца заказов. А баз то нет, откуда их взять, максимум за 5 дней назад есть.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
накладываются заказы.
что делать вам виднее.

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
что делать вам виднее.
Не виднее. Еще бы пароль от phpMyAdmin получить, было бы получше. Не могут найти неделю. Можно же просто очистить в бд что то типа "jshopping_orders" - Заказы, "jshopping_order_history" - история заказов
*

nevigen

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

mailrev

  • Захожу иногда
  • 182
  • 17 / 0
Не виднее. Еще бы пароль от phpMyAdmin получить
в файле конфигурации записан пароль от базы данных
3.14здец
*

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Блин очистил orders history, там id были с 1 по 965, потом опять с 1го и по нынешнее время. Удалил все за 2013 год до 965. Опять такая же ерунда, добавляются левые. Но теперь если в админке выбрать заказ(компоненты-joomshopping-заказы-заказ №00000694 к примеру), далее там справа нажать "историю заказов" то в истории заказов по 1 пункту стало.
За пароль phpMyAdmin спасибо, нашел в файле.
*

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Всё ! Исправил, нужно было еще очистить дубликаты в БД  jshopping_order_item. Теперь работает. Всё из за неправильной очистки в январе произошло, что то у них там упало.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Всё из за неправильной очистки в январе произошло, что то у них там упало.

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Не не, Неправильно. Началось то позавчера часов в 12, а я сплю до 15.00 в выходные минимум. Поэтому зуб соседа дам, ничего не трогали. Сказали что калькулятор Неправильно считает, я посмотрел - и вправду неправильно, а дело и не в калькуляторе случайно заметил, а то я б его до пенсии чинил, может быть даже и зарплату получал за это. Думал скрипты тупят, потому что не может быть такого, что вот он сломался, а на следующем заказе вдруг починился. Полез читать отзывы о мастерхост, ни одного хорошего не нашел, думал они наковыряли. А кто его знал что аукнулась проблема январская, они то там трогали что то в январе, я тогда еще и не знал про них. Вот так вот как, что я хотел сказать то собственно, вроде как бы тут.
*

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Новая проблема. Чето ерунда какая то с сайтом. Может такое быть что удалилась одна таблица в SQL - Jshopping_orders ? И часть jshopping_atr куда то делась. Вообще возможно такое ? Зашел на сайт сегодня, ни один товар не открывался, ошибка SQL. Удивился не обнаружив Jshopping_orders. Мастерхост чтоли тупит. Еле нарисовал назад таблицу.
*

dmitry_stas

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
СЫпется диск наверно, другого не представляю. Просто странно что опять раздел касающийся заказов, сейчас опять удалял ID всякие, а то опять не те товары добавляться стали. И угораздило же их 5 сайтов туда поставить, я как отзывы почитал о мастерхосте на хостинг101.ру, так ужаснулся. Копию сделать, 20 телодвижений, то ли дело у меня на спринтхосте, все что нужно, и статистика и все встроено, и копия одним нажатием, а тут в техподдержку надо писать чтобы восстановить за 50 руб.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
в техподдержку надо писать чтобы восстановить за 50 руб
гы. так бывает разве? прикольно.

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
не, ну можно вручную копировать и восстанавливать, а если в авто режиме с автокопии - то "Предоставление резервной копии - услуга бесплатная. Стоимость замены файлов/БД нашими силами составит 56/112 руб." Только не пойму где эта бесплатная копия, да и архив там инкрементный делается, голову сломаешь. Надо по SSH заходить, а пароль опять не подходит, плюнул, скопировал вручную, долго правда.
Не, старые записи не появились, просто так как слетела таблица jshopping_orders, нумерация заказов пошла с единицы. А jshopping_order_item, в которой хранится список купленных товаров не слетела. Вот и получается, купил банан, служебные данные записались в jshopping_orders под ID1, в jshopping_order_item записался сам банан под ID1 тоже, но там уже есть ID1- туфли, ID-1 - противогаз и тд. В итоге получается в orders ID1- банан,ID1- туфли, ID-1 - противогаз. и отсылается менеджеру 3 товара вместо одного.
*

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
кстати, сегодня сайт хотел на денвер перекопировать. Пытался по SSH зайти, пароль не пошел, зашел по FTP и скопировал сайт. Зашел в phpMyAdmin, экспортировал базу. Установил всё на денвер, и только там уже заметил что не работает заказ. Думал сначала на денвере это, зашел в инет, там то же самое. Ну не от копирования же слетела. Сам то я не мог при экспорте случайно нажать 10 кнопок и удалить orders/
*

dmitry_stas

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

Danunafik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Опять накрылся. Не приходят уведомления на почту клиенту с подтверждением заказа. Куда теперь копать не подскажите ? Там пункт какой то отмечен "Присылать PDF-счет для заказчика" а ничего не присылает.

Все исправилось само, опять мастерхост тупил наверно, уведомления пришли через часа 3
« Последнее редактирование: 04.03.2014, 21:51:00 от Danunafik »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не сохраняется порядок товаров в админке

Автор heartlink

Ответов: 7
Просмотров: 1893
Последний ответ 08.10.2024, 10:24:02
от kit2m2
[Решено] Не удаляются товары из корзины (Multi basket ajax)

Автор goga_pgasovav

Ответов: 0
Просмотров: 1198
Последний ответ 14.08.2024, 23:19:57
от goga_pgasovav
Цифровые товары (для скачивания)

Автор nengyryt

Ответов: 6
Просмотров: 1593
Последний ответ 20.05.2024, 11:26:16
от Vastriet
Ограничение Order number в админке?

Автор ИммоБокс

Ответов: 2
Просмотров: 1224
Последний ответ 13.03.2024, 11:26:33
от ИммоБокс
Как смешать товары в категориях?

Автор art22

Ответов: 23
Просмотров: 2520
Последний ответ 31.08.2023, 08:10:38
от kit2m2