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

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Сделал плагин recaptcha  для комментариев в товарах JoomShopping 3.12/Joomla 2.5 (копипаст из плагина регистрации)

Инструкция:
- устоановить плагин через инсталятор Joomla (и включить плагин)
- в главных настройках Joomla выбрать CAPTCHA (по умолчанию) - recaptcha
- включить дефолтный плагин CAPTCHA - reCAPTCHA (и ввести там паблик и прайвет ключ)

если ктото в шаблоне отключил Mootools:
тогда в файле plugins\captcha\recaptcha\recaptcha.php (ст.63)
заменяем
Код
window.addEvent(\'domready\', function() {
на
Код
$(document).ready(function() {

[вложение удалено Администратором]
« Последнее редактирование: 11.12.2012, 11:50:56 от Fisk »
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

darkangel

  • Захожу иногда
  • 71
  • 2 / 0
А чем в plugins\captcha\recaptcha\recaptcha.php (ст.63) исходная строка оличается от заменяющей?
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
А чем в plugins\captcha\recaptcha\recaptcha.php (ст.63) исходная строка оличается от заменяющей?
сори спешил домой, поправил описание
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

darkangel

  • Захожу иногда
  • 71
  • 2 / 0
Данный плагин работает только с выставленным по дефолту ReCaptcha или с другими CAPTCHAми, установленных по умолчанию для системы?
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Установил плагин, ввел ключи, включил плагин. В форме отзывов появилось лишь CAPTCHA *
И добавилась проверка на эту самую капчу, но картинки я так и не увидел, вместе с полем для ввода значений.. чаДНТ?
« Последнее редактирование: 12.12.2012, 01:13:27 от Bartlebi »
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Установил плагин, ввел ключи, включил плагин. В форме отзывов появилось лишь CAPTCHA *
И добавилась проверка на эту самую капчу, но картинки я так и не увидел, вместе с полем для ввода значений.. чаДНТ?

у вас наверное отключен Mootools. Если у вас установлен файербаг то на странице консоли должно показать в таком случае ошибку.
Попробуйте сделать изменения в файле "plugins\captcha\recaptcha\recaptcha.php" как я написал в первом посте.
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
В консоли фаербага вот что:
Код
TypeError: $ is not a function
... rel='stylesheet' /> <script type="text/javascript" src="http://www.igromir.biz/...
MooTools специально не отрубал, но на всякий случай заменил строку, как написано у Вас. Эффекта ноль.
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Сейчас всё это выглядит вот так:
Код
$document->addScriptDeclaration('$(document).ready(function() {
Recaptcha.create("'.$pubkey.'", "dynamic_recaptcha_1", {theme: "'.$theme.'",'.$lang.'tabindex: 0});});'
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Сейчас всё это выглядит вот так:
Код
$document->addScriptDeclaration('$(document).ready(function() {
Recaptcha.create("'.$pubkey.'", "dynamic_recaptcha_1", {theme: "'.$theme.'",'.$lang.'tabindex: 0});});'

есть возможность дать линк чтобы посмотреть на сайт? а если нету то посмотрите в консоли FireBug нет ли ошибок
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Ошибки из консоли двумя постами выше, там же и адрес сайта, собственно..
Продублирую:
Код
TypeError: $ is not a function
... rel='stylesheet' /> <script type="text/javascript" src="http://www.igromir.biz/...
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Ошибки из консоли двумя постами выше, там же и адрес сайта, собственно..
Продублирую:
Код
TypeError: $ is not a function
... rel='stylesheet' /> <script type="text/javascript" src="http://www.igromir.biz/...

попробуйте еще
Код
jQuery(document).ready(function() {
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
попробуйте еще
Код
jQuery(document).ready(function() {
Благодарю. Все заработало. А можно какое-нибудь объяснение, почему так произошло? Сдаётся мне, что проблема у меня..
*

donvincento

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
 У меня было тоже самое, как у товарища постом выше.
(Я ставил не этот плагин, а тот, с которого "копи-паст" делали)
 И тоже помог последний вариант.
Хотелось бы понять как сделать вариант плагина для последнего шага (5 ого, Подтверждение заказа) тоже?!
(Вариант для покупателя без регистрации).

Благодарю. Все заработало. А можно какое-нибудь объяснение, почему так произошло? Сдаётся мне, что проблема у меня..
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
У меня было тоже самое, как у товарища постом выше.
(Я ставил не этот плагин, а тот, с которого "копи-паст" делали)
 И тоже помог последний вариант.
Хотелось бы понять как сделать вариант плагина для последнего шага (5 ого, Подтверждение заказа) тоже?!
(Вариант для покупателя без регистрации).

А к чему так усложнять процесс покупки?Неужели боты и этим занимаются?О.о
*

mitaj

  • Осваиваюсь на форуме
  • 12
  • 3 / 0
Не пашет ни одним из методов
FireBug: TypeError: Recaptcha.widget is null
*

skyrec

  • Захожу иногда
  • 382
  • 10 / 0
  • Люблю я детей !!!
Я вообще никакие строчки не менял и все заработало. Скажите а возможно использовать другие CAPTCHA ?
*

Naiomnik

  • Новичок
  • 2
  • 0 / 0
Не пашет ни одним из методов
FireBug: TypeError: Recaptcha.widget is null
у меня такая же ерунда...
мол ошибка в recaptcha_ajax.js (строка 103)
адрес скрипта:
http://api.recaptcha.net/js/recaptcha_ajax.js
что делать не знаю... может у кого то есть мысли по этому поводу?
*

Naiomnik

  • Новичок
  • 2
  • 0 / 0
хоть кто то может помочь решить эту проблему?
*

elf39

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Сделал все как написано, у меня вообще нечего не выводится
*

taar

  • Новичок
  • 1
  • 0 / 0
у меня такая же ерунда...
мол ошибка в recaptcha_ajax.js (строка 103)
адрес скрипта:
http://api.recaptcha.net/js/recaptcha_ajax.js
что делать не знаю... может у кого то есть мысли по этому поводу?


Попробуйте следующее:
надо править файл recaptcha.php в директории /plugins/captcha/recaptcha/
Заменить следующие определения (а точнее адреса УРЛ):

выражение:    const RECAPTCHA_API_SERVER = "http://api.recaptcha.net";
заменить на:   const RECAPTCHA_API_SERVER = "http://www.google.com/recaptcha/api";       
 
выражение:    const RECAPTCHA_VERIFY_SERVER = "api-verify.recaptcha.net";
заменить на:   const RECAPTCHA_VERIFY_SERVER = "www.google.com";

выражение:     self::RECAPTCHA_VERIFY_SERVER, "/verify",
заменить на:   self::RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
[вложение удалено Администратором] - Как же его теперь скачать? Или это плохой плагин?
*

dmitry_stas

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

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
зачем его скачивать отсюда, если он есть в Joomla?
Ну этот ведь был для комментариев в товарах JoomShopping. Я даже перечитал внимательно еще раз первый пост )) Он действительно был для комментов в товарах.
*

nevigen

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Ну этот ведь был для комментариев в товарах JoomShopping.

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

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Ясно. Самоуничтожился значит)) Если у кого еще остался этот плагин в закромах, поделитесь пожалуйста. Буду благодарен.
*

Senturov

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
И мне надо)))
*

specnazov

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
И мне надо)))
И я был бы очень признателен за ссылочку или указание где искать этот плагин
*

dmitry_stas

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

specnazov

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
может этот подойдет https://nevigen.com/ru/addons/captcha-dlya-otzyvov-v-joomshopping.html
Спасибо, я видел этот вариант. И даже купить его не было бы проблем, но смущает 2 загвоздки:
1 - демо на сайте продавца не работает, т.е. в тех комментариях нет CAPTCHA
2 - на фото плагина снизу CAPTCHA указан сайт невиген, может это глупость  crazy! , но вдруг на моём сайте будет ссылка на его сайт?
« Последнее редактирование: 07.04.2016, 11:04:59 от specnazov »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Эффект увеличения изображения zoom (плагин)

Автор Brooksus

Ответов: 132
Просмотров: 30134
Последний ответ 02.07.2025, 12:40:20
от nevigen
Мы починили поиск для JoomShopping

Автор Dimidrol-Pruper

Ответов: 101
Просмотров: 34784
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 2287
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 11879
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] Комплект товаров JoomShopping - конструктор

Автор vgromov

Ответов: 96
Просмотров: 31641
Последний ответ 14.12.2022, 15:21:24
от kit2m2