Новости 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 Ответов
  • 1549 Просмотров
*

Jokerrs

  • Захожу иногда
  • 94
  • 0 / 0
Вот что у меня есть сейчас
Спойлер
[свернуть]
а вот что хотелось бы получить на выходе
Спойлер
[свернуть]
Это под силу JoomShopping? И если да, то как подобное реализовать и на сколько это может быть сложно?
« Последнее редактирование: 20.05.2014, 02:28:34 от Jokerrs »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: JoomShopping нестандартные решения
« Ответ #1 : 20.05.2014, 11:21:28 »
Если не считать верхние кнопки, которые вы не сказали для чего, то это элементарная верстка, причем тут JoomShopping?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: JoomShopping нестандартные решения
« Ответ #2 : 20.05.2014, 11:27:12 »
Если не считать верхние кнопки, которые вы не сказали для чего, то это элементарная верстка, причем тут JoomShopping?
+100500
список файлов шаблона в ФАКе
основы и база подсказок на htmlbook.ru

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

Jokerrs

  • Захожу иногда
  • 94
  • 0 / 0
Re: JoomShopping нестандартные решения
« Ответ #3 : 20.05.2014, 13:05:02 »
Если не считать верхние кнопки, которые вы не сказали для чего, то это элементарная верстка, причем тут JoomShopping?
Верхние кнопки к JoomShopping не относятся, в этом вы правы.
Было бы интересно пояснение ТСа относительно в каком виде он хотел бы получить ответ?
Т.е. как Вы его (ответ) себе представляете ?
Я хотел бы получить развернутый ответ.
Ответ раскрывающий суть вопроса в который могут входить примеры(ссылки) на уроки похожих работ, советы и рекомендации, в общем любая полезная информация которая поможет начинающему пользователю раскрыть вопрос и научиться чему то новому.
« Последнее редактирование: 20.05.2014, 13:11:38 от Jokerrs »
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: JoomShopping нестандартные решения
« Ответ #4 : 20.05.2014, 13:55:02 »
Сомневаюсь что кто-то будет разжевывать...
Форум не для уроков по PHP и CSS
*

Jokerrs

  • Захожу иногда
  • 94
  • 0 / 0
Re: JoomShopping нестандартные решения
« Ответ #5 : 20.05.2014, 16:32:15 »
Сомневаюсь что кто-то будет разжевывать...
Форум не для уроков по PHP и CSS
А никто и не просит разжевывать, помоему я ясно ограничил границы от и до. Тут все просто, надо всего лишь подтолкнуть.
И пользуясь случаем в рамках этой темы задам вопрос по теме
Две маленькие картинки которые изображены на скриншоте
, я их обвел даже(вдруг кто то в очко долбится) возможно ли их увеличить в размере? высота, ширина, а не килобайты, мб, гб, тб....(тоже на всякий случай написал, а то люди тут непонятливые встречаются)
« Последнее редактирование: 20.05.2014, 16:38:44 от Jokerrs »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: JoomShopping нестандартные решения
« Ответ #6 : 20.05.2014, 16:46:53 »
.......(вдруг кто то в очко долбится)
....(тоже на всякий случай написал, а то люди тут непонятливые встречаются)...........

хотите ? будете ёрничать в другом месте !
если Вы хотите обсудить кого-то, а не что-то, тогда гоу в Одноклассники или ВК !

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

Jokerrs

  • Захожу иногда
  • 94
  • 0 / 0
Re: JoomShopping нестандартные решения
« Ответ #7 : 20.05.2014, 18:10:14 »
хотите ? будете ёрничать в другом месте !
если Вы хотите обсудить кого-то, а не что-то, тогда гоу в Одноклассники или ВК !

Вам конкретно сказали что это вопросы верстки, а то что у Вас стоит ЖШ это просто совпадение обстоятельств.
Относительно картинок, попробуйте использовать FireBug чтобы понимать свой сайт.
Спасибо за аддон, очень полезным оказался. Теперь я не тока умею увеличивать, но и перемещать изображение на странице.
Ну вот что у меня получилось
Спойлер
[свернуть]
оч приятно что картинка динамическая т е меняется по отношению к атрибутам. Пока что не могу понять какой тег или хз как это называется отвечает за блок выпадающего списка.
« Последнее редактирование: 20.05.2014, 18:33:16 от Jokerrs »
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #8 : 02.08.2014, 15:09:33 »
Всем привет! Кто нибудь делал для себя вопросы и ответы в карточке товара Jshoping? Пытался реализовать на основе review.php, только инклюдить quest.php (содержимое тоже что и review.php) но, чтобы вопросы добавлялись в другую таблицу в бд #_jshopping_products_rev_quest например.

В сайт\components\com_jshopping\controllers\product.php есть функция:
Код
function reviewsave(){
        $mainframe =JFactory::getApplication();
        $jshopConfig = JSFactory::getConfig();
        $db = JFactory::getDBO();
        $user = JFactory::getUser();
        $post = JRequest::get('post');
        $backlink = JRequest::getVar('back_link');
Пытался сделать простым копированием, с заменой окончаний, не вышло, данные не сохраняются ни в ту и в другую.

Теперь пробую реализовать простым php
Код
<?php
include ('connectingconnecting.php'); //Прямое подключение к БД
$sql = 'INSERT INTO #_jshopping_products_rev_quest(user_email, user_name, user_quest, prod_id, publish_type)
VALUES("'.$user_email.'", "'.$user_name.'", "'.$user_quest.'", "'.$prod_id.'", "'.$publish_type.'")';
?>

Но удобство и безопасность думаю не на уровне...

Есть предложения каким образом можно реализовать?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping нестандартные решения
« Ответ #9 : 02.08.2014, 16:34:42 »
Кто нибудь делал для себя вопросы и ответы в карточке товара Jshoping?

не такое имеется в виду? http://joomlaforum.ru/index.php/topic,282665.0.html
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #10 : 02.08.2014, 17:11:15 »
не такое имеется в виду? http://joomlaforum.ru/index.php/topic,282665.0.html

На подобии, но надо чтоб сохранялось в другую таблицу БД. Т.е. у меня и отзывы будут, и вопросы с ответами.

Грубо говоря, две формы с отзывами, в разные таблицы. Возможность "комментария-ответа" уже реализовал, но получается либо-либо.

А нужны и отзывы и вопросы.
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping нестандартные решения
« Ответ #11 : 02.08.2014, 18:32:06 »
а зачем именно разные таблицы? просто признака в таблице отзывов не хватит? пример реализации - http://decorashop.com.ua/instrumenty-dlya-khudozhnikov-i-dekoratorov/instrumenty-dlya-dekorativnoj-shtukaturki/valiki/valik-figurnyj-crocodile.html#otzivi-i-voprosi - оставьте отзыв или задайте вопрос
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #12 : 02.08.2014, 19:00:53 »
В примере, вывод вопросов и комментов идет "все подряд". У меня, review.php - комментарии, quest.php - вопросы. Вывод в разных местах (вкладках)

Вообще, если честно, то просто так, люблю когда все на своих местах. Но, пока не вышло, в итоге решил добавить к типу идентификатор publish_type, 0-отзыв, 1-вопрос, 2-ответ к вопросу.


Теперь на выводе review.php:
Код
<?php foreach($this->reviews as $curr){?>
   <?php if ($curr->publish_type == "0") : ?>// 0=отзыв

Вывод всех отзывов

   <?php endif; ?>
<?php }?>

А на выводе quest.php:
Код
<?php foreach($this->reviews as $curr){?>
   <?php if ($curr->publish_type == "1") : ?> //1=вопрос

Вывод всех вопросов

   <?php endif; ?>
<?php }?>

Вроде норм работает, но не нравится проверка if после foreach
Можно как то попроще проверку сделать без последующего if?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping нестандартные решения
« Ответ #13 : 02.08.2014, 20:23:43 »
Вообще, если честно, то просто так, люблю когда все на своих местах.
абсолютная истина. только в данном случае "все на своих местах" как раз и определяется признаком в одной таблице :) 2 разные таблицы - 2 запроса в базу, 1 таблица - 1 запрос. что правильнее?

Можно как то попроще проверку сделать без последующего if?
в первом цикле после вывода отзыва делайте unset для этого отзыва. таким образом ко второму циклу в $this->reviews останутся только вопросы.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #14 : 02.08.2014, 21:29:46 »
За unset спасибо, тогда вообще не надо тип определять, в родную ячейку отзывы складывать, а в questions вопросы.

Но вот возникла другая проблема, с подсчетами.
reviews_count хранится в #_jshopping_products и считает все подряд.
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #15 : 02.08.2014, 23:10:17 »
В начале была идея считать при выводе "SELECT COUNT(*)" но я думаю это нагрузка. Рыл дальше.

В итоге publish_type не стал убирать, пригодился для определения количества reviews_count и quest_сount в таблице  #_jshopping_products.

Ответ на вопрос (publish_type = 2) вообще нигде не считается. Все замечательно.

Кстати, что за ошибка при добавлении комментария "Enter correct data comment"? видимо от дублирования форм.
За нее отвечает вот этот чек, в файле сайт\components\com_jshopping\controllers\product.php
Код
        #if (!$review->check()) {
        #    JError::raiseWarning('', _JSHOP_ENTER_CORRECT_INFO_REVIEW);
        #    $this->setRedirect($backlink);
        #    return 0;
        #}
Подумал в полноте заполнения, но нет.
Закомментил, все работает без проблем.
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping нестандартные решения
« Ответ #16 : 03.08.2014, 09:02:34 »
Но вот возникла другая проблема, с подсчетами.
в чем проблема посчитать количество в ваших циклах?

Кстати, что за ошибка при добавлении комментария "Enter correct data comment"?

смотрите что не так в \components\com_jshopping\tables\review.php function check()
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Re: JoomShopping нестандартные решения
« Ответ #17 : 03.08.2014, 17:41:24 »
Цитировать
в чем проблема посчитать количество в ваших циклах?
Все немного сложнее чем просто вывести количество. Тем более что если переменная определена в середине, в верху она не выведется.



И второй момент это вывод в категориях, вопросы там не нужны, но я уже говорил что reviews_count в таблице с товаром, считал все подряд, включая одобрен отзыв админом или нет.



Кстати, спасибо за unset (пока не переделал), и за "колво запросов к БД", я думал сколько ячеек выводится столько и запросов - сейчас еще одна мания появится..))

dmitry_stas, не пробовал реализовать AJAX голосование для отзыва "Полезен или нет"?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping нестандартные решения
« Ответ #18 : 03.08.2014, 17:56:39 »
Цитировать
не пробовал реализовать AJAX голосование для отзыва "Полезен или нет"?
нет, не делал. откровенно говоря, имхо какая то сомнительная фишка для интернет-магазина...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35706
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 625
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1400
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2045
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1355
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav