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

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Всем привет скажите можно сделать чтобы на сайте по умолчанию регистрация была с социалки, а то когда пользователь лезит в закрытый материал, ему предлагается зарегиться но регистрация по умолчанию (((
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Регистрация
« Ответ #1 : 12.02.2010, 15:36:09 »
прошу помочь мне а то все беды от этого
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Re: Регистрация
« Ответ #2 : 12.02.2010, 16:59:18 »
Есть такой плагин...
JS Registration Redirector 2.0.16.zip
Всё есть в тебе. Реализовывайся.
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
вот не люблю я, когда на сайте, которые соц.сеть  во вторую очередь, после авторизации кидают в профайл.

кмк, лучше оставаться на той же странице.

как, кто-нить делал так?
+
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Чтобы не плодить темы. Все равно с этим хелломодом копаюсь.

для тех, кому надо в этом модуле авочку поменьше поставить, а не 120 на сколько-то там.

в файлике mod_hellome.php меняем в строке 49
Код
		$params->def('myAvatar', $my->getAvatar());
на
Код
		$params->def('myAvatar', $my->getThumbAvatar());
+
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Регистрация
« Ответ #5 : 20.02.2010, 19:04:16 »
Спасибо, но он только отлавливает регистрацию а мне нужно вход отлавливать, тоесть форму авторизации.
*

Darknemo

  • Захожу иногда
  • 223
  • 2 / 0
Re: Регистрация
« Ответ #6 : 20.02.2010, 19:14:07 »
Ну так а вопрос то был про регистрацию.. =\

А с формой авторизации у тебя что не получается? Отключи модули авторизации и все.. останется только от JS
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Чтобы не плодить темы. Все равно с этим хелломодом копаюсь.

для тех, кому надо в этом модуле авочку поменьше поставить, а не 120 на сколько-то там.

в файлике mod_hellome.php меняем в строке 49
Код
		$params->def('myAvatar', $my->getAvatar());
на
Код
		$params->def('myAvatar', $my->getThumbAvatar());

Спасибо.
+
Всё есть в тебе. Реализовывайся.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Регистрация
« Ответ #8 : 20.02.2010, 23:25:52 »
причем тут модуль?  не получается убрать joomla  авторизацияю а место нее сделать от JS. Когда пользователь жмет у меня добавить объявление у меня авторизация выскакиевает Joomla
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Регистрация
« Ответ #9 : 21.02.2010, 01:47:15 »
Смотря откуда и чем вызывается авторизация. Если вызов идет от модуля или компонента, который не имеет отношения к JS,  то естественно авторизация будет вызываться родным Joomla-вским способом. Если все-таки вызов идет от JS, то авторизация происходит вызовом: components\com_community\assets\script-1.2.js
Немного про настройку окна есть здесь .
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Регистрация
« Ответ #10 : 21.02.2010, 11:10:58 »
kharol спасибо, но то окно я через CSS поправил. А насчет компонента, он не относится к JS. Я просто думал можно как то глобально изменить авторизацию стандартную на JS
*

Sergeych

  • Захожу иногда
  • 161
  • 25 / 0
Re: Регистрация
« Ответ #11 : 21.02.2010, 11:24:15 »
Можно всё... но надо править код
найти везде где есть ссылка на index.php?option=com_user&task=register или index.php?option=com_user&view=register
и поменять её на index.php?option=com_community&view=register
сделать это можно за 3 минуты.

Для начала поменять в components\com_content\views\category\view.html.php - при попытке просмотра закрытого контента будет отсылать на регистрацию в социалке.

Хотя тут скажут что это не совсем правильный метод ибо в дальнейшем при обновлении Joomla эти изменения потеряются и их надо будет делать заново (что в общем несложно).
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
вот не люблю я, когда на сайте, которые соц.сеть  во вторую очередь, после авторизации кидают в профайл.

кмк, лучше оставаться на той же странице.

как, кто-нить делал так?
Строка 291 в файле модуля hellome - helper.php.
Было:
Код
$uri	= CRoute::_('index.php?option=com_community&view=profile' , false );
Стало:
Код
$uri	= CRoute::_('index.php?option=com_community' , false );
Но этот финт лишь редиректит на главную коммьюнити, вместо профиля. Как остаться на той же странице еще не придумал, знаний маловато.
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Пришлось подумать и погуглить:
Код
$uri	= JRoute::_('index.php' , false );
Проверено, работает!  :D
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
А как сделать так, чтоб при авторизации пользователь оставался на той же странице, где и был?
Всё есть в тебе. Реализовывайся.
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Вместо того чтобы задавать один и тот же вопрос, не судьба код вставить? Приведенный мной вариант как раз никуда не редиректит.
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
да. точно, работает!

чтобы и после авторизации оставался на той же странице , надо сделать такую же замену в районе 33-й строки. наверное где-то там, у меня щас номера строк сильно отличаются от оригинала : ))
+
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Вместо того чтобы задавать один и тот же вопрос, не судьба код вставить? Приведенный мной вариант как раз никуда не редиректит.
Если я авторизируюсь в статье, то меня перекидывает в блог категории раздела.
В районе 33-й строки поправку тоже внес. Из статьи все равно выкидывает.
« Последнее редактирование: 22.02.2010, 09:18:49 от vdr »
Всё есть в тебе. Реализовывайся.
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Хм, ты прав, но по чести надо определять страницу, на которой находишься, после регистрации редиректить на нее. Наверное так. Мой вариант на самом деле в начало раздела кидает. Надо оригинальный джумловский модуль поковырять, там же все как надо.

 ^-^
В оригинальном так:
Код
			// stay on the same page
$uri = JFactory::getURI();
$url = $uri->toString(array('path', 'query', 'fragment'));
« Последнее редактирование: 22.02.2010, 10:50:55 от steelcat »
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
надо смотреть модуль входа от JFusion :)

щас кофье попью и посмотрю... если, конечно, меня снегом окончательно не засыплет : )

а тут программисты вообще есть? : )))
+
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Я тоже поковыряюсь, зацепило.  ;)

ЗЫ. Ковырял, пробовал по разному код править... знаний все же не хватает.  :( Учиться, учиться и учиться... Как завещал великий Ленин.
« Последнее редактирование: 22.02.2010, 20:52:02 от steelcat »
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Кстати, горизонтальный hellome тоже редиректит?
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
горизонтальный? это какой?
просто у меня он тож горизонтальный, но тока самодельно-горизонтальный : )

и без фейсбука
+
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
вот не люблю я, когда на сайте, которые соц.сеть  во вторую очередь, после авторизации кидают в профайл.

кмк, лучше оставаться на той же странице.

как, кто-нить делал так?
Получилось?
Всё есть в тебе. Реализовывайся.
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
пока нет, т.е. пока даже не пробовал еще что-то сделать, времени щас на это не имеется : (
+
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Регистрация
« Ответ #25 : 27.02.2010, 01:07:41 »
Где то я встречал подобный вопрос. Может быть на оф. форуме...
Поищу обязательно
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

Sallavan

  • Новичок
  • 5
  • 1 / 0
Re: Регистрация
« Ответ #26 : 12.03.2010, 10:07:55 »
такой вопрос у меня проблема с регистрацией:
Версия JomSocial 1.6.288

При нажатии присоединится появляется окно регистрации после заполнения которого и нажатии на кнопку далее появляется окошко сообщающее о том что "Notice:Необходимое поле пустое или содержит неверное значение!"
все поля заполнял и перезаполнял по многу раз, проблема не решилась и после переустановки jomsocial...помогите в решении...
P.S. Регистрация в Joomla проходит нормально
*

vital_s1

  • Захожу иногда
  • 267
  • 26 / 0
  • Joomla магия
Всем привет!
Решил затестить компонент на локалхосте,... несколько дней все вроде бы нормально работает, тестовых юзеров понарегал для видимости ..... но вчера столкнулся с тем, что при регистрации выдает сообщение "Недопустимый символ". Совершенно не важно с каким мылом, паролем и т.д. ... даже если все поля оставить пустыми, то выдает тоже самое. Неделю перед этим все на ура работало.

Регистрация через hello me
версия компонента: 1.5.243 - все плагины опубликованы.
Joomla 1.5.14

Установлено много чего, сайт тестовый...
Kunena (в форуме везде указано, что все брать из JomSocial)
Jcomments
Procsa
всякие табы и слайдеры и т.д. ....

Тему посмотрел, аналогичных ошибок не увидел.
Может кто подскажет в чем гемор возник, после нормальной работы компонента?
« Последнее редактирование: 15.03.2010, 14:13:45 от vital_s1 »
Не бойся спрашивать, без этого ни как! -)
*

Deni

  • Захожу иногда
  • 61
  • 2 / 0
*

vital_s1

  • Захожу иногда
  • 267
  • 26 / 0
  • Joomla магия
Invalid Token ?
нет именно в строчке message  пишет "Недопустимый символ", сам сайт нормально работает.
Не бойся спрашивать, без этого ни как! -)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение JomSocial к Amazon S3 | Нужна помощь?

Автор Wassup

Ответов: 14
Просмотров: 9226
Последний ответ 07.04.2019, 09:38:31
от powerful888
Как изменить поля регистрации в JomSocial?

Автор 1ncom1ng

Ответов: 7
Просмотров: 7044
Последний ответ 29.03.2019, 01:03:37
от DomBeri
Письма уведомления от JomSocial

Автор coder-max

Ответов: 84
Просмотров: 21827
Последний ответ 12.01.2017, 18:07:39
от FitMe
Вопросы по настройке JomSocial

Автор evteev

Ответов: 37
Просмотров: 20052
Последний ответ 17.07.2015, 00:34:21
от belperson
Как сделать JomSocial главной страницей

Автор ZapTeR

Ответов: 5
Просмотров: 5638
Последний ответ 11.11.2014, 14:23:46
от kasper9820