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

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Добрый день!
Подскажите как повесить javascript на ссылку?
Задача в каталоге товаров нажимая на ссылку товара передать данные посредством скрипта.
Вот пример ссылки:
Код
<a class = "product_link" href = "<?php echo $category->category_link?>"><?php echo $category->name?></a>
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Re: Как повесить js функцию на ссылку?
« Ответ #1 : 05.09.2015, 13:06:43 »
onclick="скрипт"
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как повесить js функцию на ссылку?
« Ответ #2 : 05.09.2015, 16:05:20 »
Добрый день!
Подскажите как повесить javascript на ссылку?
Задача в каталоге товаров нажимая на ссылку товара передать данные посредством скрипта.
Вот пример ссылки:
Код
<a class = "product_link" href = "<?php echo $category->category_link?>"><?php echo $category->name?></a>

Здравствуйте, а какие данные вы хотите хранить на стороне клиента? Имейте в виду, что злоумышленник таким способом отправит вам абсолютно любые данные со всеми вытекающими последствиями.
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Как повесить js функцию на ссылку?
« Ответ #3 : 05.09.2015, 18:16:15 »
Здравствуйте, а какие данные вы хотите хранить на стороне клиента? Имейте в виду, что злоумышленник таким способом отправит вам абсолютно любые данные со всеми вытекающими последствиями.

У меня цель передавать данные в Google Tag Manager. Каким способом злоумышленник отправит мне данные? Если наоборот я данные передаю, а не принимаю.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как повесить js функцию на ссылку?
« Ответ #4 : 05.09.2015, 18:46:46 »
У меня цель передавать данные в Google Tag Manager. Каким способом злоумышленник отправит мне данные? Если наоборот я данные передаю, а не принимаю.
Интересно... Google Tag Manager же вроде позволяет управлять аналитикой без правки исходного кода. Я думал вы собираетесь передавать данные на свой сервер. Зачем вам править код? И как вы собираетесь отправлять данные на другой сервер? Помню, была статья о распространённых ошибках безопасности, в которой приводился пример, когда цена товара находилась в значении аттрибута onclick, то есть, товар можно было приобрести за 0.01 рубль, просто меняя это значение в консоли браузера :)
« Последнее редактирование: 05.09.2015, 18:59:54 от Филипп Сорокин »
*

mister_boy

  • Захожу иногда
  • 179
  • 2 / 0
Re: Как повесить js функцию на ссылку?
« Ответ #5 : 05.09.2015, 19:47:10 »
Интересно... Google Tag Manager же вроде позволяет управлять аналитикой без правки исходного кода. Я думал вы собираетесь передавать данные на свой сервер. Зачем вам править код? И как вы собираетесь отправлять данные на другой сервер? Помню, была статья о распространённых ошибках безопасности, в которой приводился пример, когда цена товара находилась в значении аттрибута onclick, то есть, товар можно было приобрести за 0.01 рубль, просто меняя это значение в консоли браузера :)

Погуглите вебинары по электронной коммерции GA, Яндекс Метрики. Все системы требуют передачу данных к себе на сервер. Отличие GTM в том, что после вы можете стоить скрипты на основе полученных данных без внесения изменений в код. А как у вас GTM поймет какой у товара производитель, какая категория если этих данных даже на странице нету? Залезет вам на сайт и сам додумается? ))))

В документациях четко прописано как можно настроить детальный сбор информации о поведении покупателя на разных этапах - зайдя в каталог передается массив товаров который покупатель видел, далее при клике на товар передается какой товар он кликнул, далее какой товар добавил или убрал из Корзины, какой купон ввел в Корзине, вплоть до того какой баннер ему был показан и кликал ли он на него. После этого выстраивается человекопонятная карта движения покупателя, а не море ссылок. Сейчас в аналитике простой вы даже не знаете какие товары покупатель смотрел - вы видите конечный результат - заказ или отсутствие его.

Вот вам пример демо сайта самого Google, где показаны скрипты передачи данных в аналитику на разных этапах https://enhancedecommerce.appspot.com/ кликайте на (i) и смотрите код для GTM или GA
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Как повесить js функцию на ссылку?
« Ответ #6 : 05.09.2015, 20:23:10 »
2ТС,
переименуйте тему, или вернитесь в русло обсуждения.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Как повесить js функцию на ссылку?
« Ответ #7 : 05.09.2015, 20:54:06 »
Погуглите вебинары по электронной коммерции GA, Яндекс Метрики. Все системы требуют передачу данных к себе на сервер.

Да это понятно. Чай не от сохи.

Вот вам пример демо сайта самого Google, где показаны скрипты передачи данных в аналитику на разных этапах https://enhancedecommerce.appspot.com/ кликайте на (i) и смотрите код для GTM или GA

Ну и что? Где там говорится, что нужно править исходный код? Всё делается через интерфейс GTM, чтобы пользователь не смог испортить код. Вы вводите свои скрипты туда, а они потом появляются у Вас на сайте. Почитайте.

Соответственно, Вам необходимо дотянуться до этих ссылок из контейнера GTM. Для этого можно использовать стандартные DOM методы или jQuery, например:

Код
$(function() {
   $("селектор").click(function(){
      // шпиёнские штучки :)
   })
})
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Как повесить js функцию на ссылку?
« Ответ #8 : 05.09.2015, 21:40:20 »
что касается стороны GTM, вы верно говорите. никаких правок на стороне сайта больше не нужно. но вы просто говорите о разных правках

как у вас GTM поймет какой у товара производитель, какая категория если этих данных даже на странице нету?

Соответственно, Вам необходимо дотянуться до этих ссылок из контейнера GTM. Для этого можно использовать стандартные DOM методы или jQuery
дотягиваться не до чего, понимаете?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вызвать функцию очистки Списка Пожеланий (Wishlist)?

Автор Anton_R

Ответов: 1
Просмотров: 1389
Последний ответ 02.10.2024, 11:19:35
от kit2m2
Убрать ссылку в названии товара

Автор Jinrou

Ответов: 12
Просмотров: 1859
Последний ответ 13.03.2023, 06:48:07
от kit2m2
Как получить ссылку в шаблоне product_default.php?

Автор designerandrey

Ответов: 2
Просмотров: 696
Последний ответ 15.12.2020, 03:59:59
от kit2m2
Как вывести название и ссылку категории в списке товаров product.php ?

Автор SoCool

Ответов: 4
Просмотров: 2853
Последний ответ 09.07.2018, 11:50:27
от dmitry_stas
Сформировать ссылку на товар

Автор denism300

Ответов: 1
Просмотров: 2193
Последний ответ 25.04.2017, 21:01:56
от dmitry_stas