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

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Groupjive - компонент Joomla, разработанный для использования на любых сайтах или социальных сетях, разработанных под CMS Joomla.

Компонент GroupJive позвляет реализовывать возможность организации социальных групп в рамках собственного сайта на базе CMS Joomla. Компонент Groupjive позволяет расширить стандартные возможности порталов и социальных сетей, воплощая в жизнь элемент идеологии WEB2.0, направленной на реализацию социализации сетей.


Компонент интегрован со следующими компонентами:
  • Community Builder 1.1;
  • Community Builder Enhanced (зарубежная модификация CB 1.0);
  • FireBoard 1.0.3 и выше;
  • EventList 0.8.10;
  • JomComment 1.8.10.

Имется три типа групп на выбор, которые могут быть созданы:
  • открытая - (открытая группа для всех зарегистрированных пользователей);
  • требуется одобрение - (для членства требуется одобрение модератора);
  • закрытая - (членство обеспечивается только по приглашениям).

Исправления: в русской редакции Groupjive наконец-то отловлен и исправлен баг с SQL ошибкой номер 1064 (SQL error when attempting to save a message), возникавший при использовании в бюллетене апострофа ( ' )
На данный момент эта ошибка исправлена только в русской редакции, поскольку на официальном форуме разработчиков до сих пор не опубликован багфикс.
Спасибо Денису Рябову aka Physicist за внесение данного исправления!

Примечание: Groupjive требует для работы наличие установленного Community Builder!


>>> Качать здесь <<<

14.05.2009 - прикреплён архив с компонентом.

[вложение удалено Администратором]
*

ich_heise_tod

  • Захожу иногда
  • 99
  • 36 / 2
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #1 : 07.07.2008, 14:47:56 »
приглашение пользователей, ajax... там траблы с кодировкой...
:((
подскажите, плиз, как исправить...
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #2 : 07.07.2008, 15:27:19 »
В оригинальной версии из-за Ajax были кракозябры. Это исправлено использованием библиотеки ICONV:
Код
<?php echo iconv("UTF-8","windows-1251", $str); ?>
На хостинге все будет работать, но стандартный пакет Denwer не поддерживает данную библиотеку (правда, не пробовал на новой версии пакета), поэтому вызов неподключенной библиотеки приводит к ошибке.
Есть несколько вариантов:
1. Убрать вызов библиотеки. Будут кракозябры, но можно будет отладить сайт и после переноса на хостинг, раскоментировать строку (об этом ниже).
2. Добавить iconv в настройках Denwer'a.

Для работы на локалхосте нужно открыть файл components/com_groupjive/groupjive.php и удалить строки 727-732:

Цитировать
//   $gj_username=utf8_decode(trim(mosGetParam($_REQUEST,'username')));

   $gj_username=trim(mosGetParam($_REQUEST,'username'));
   $gj_username=iconv('utf-8','windows-1251',$gj_username);

И раскомментировать строку 733:
Код
	$gj_username=utf8_decode(trim(mosGetParam($_REQUEST,'username')))	;


Опять же, лучше попробовать настроить Denwer, моё имхо.
*

ich_heise_tod

  • Захожу иногда
  • 99
  • 36 / 2
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #3 : 07.07.2008, 15:38:26 »
крякозябры отображаются на хостинге...
(хостинг на рбк, php4.3.9)

скрин во вложении...

[вложение удалено Администратором]
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #4 : 07.07.2008, 15:41:21 »
А на хостинге имеется поддержка ICONV?


Добавлено
у меня работает на MySQL 4.x. Сейчас опробую на 5-й версии
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #5 : 07.07.2008, 15:56:36 »
Отображение в неверной кодировке - проблема с MYSQL5 (которая работает в UTF8). На MySQL 4.x нормально работает. Как исправим под 5-ю версию, напишу здесь.
*

newjey

  • Захожу иногда
  • 405
  • 2 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #6 : 09.07.2008, 13:48:56 »
А можете перезалить компонент,а то ссылка не работает.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #7 : 09.07.2008, 20:30:50 »
Попробуйте сейчас скачать. Работает?

Найден еще один баг:
На серверах с PHP5+MYSQL5 неправильно работает itemID при включенном SEF. Невозможно создать новую группу. Как будет найдено решение, отпишусь.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #8 : 09.07.2008, 21:59:56 »
Итак, если у вас возникает проблема с формированием ItemID на высоких версиях php & mysql, необходимо внести следующую модификацию:
необходимо заменить в /includes/patTemplate/patTemplate/Function/Sef.php
Код
return sefRelToAbs($content)[/b]

на
Код
return str_replace(array('%7B','%7D'),array('{','}'),sefRelTOAbs($content));

За данное решение говорим спасибо Physicist'у.
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #9 : 09.07.2008, 22:36:34 »
Как можно сделать, чтоб только администратор мог присоеденять пользователя в группу, а пользователь самомстоятельно присоеденится немог?
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #10 : 09.07.2008, 23:02:12 »
Нужно создать группу со статусом "закрытая" - участние в группе и, соответственно, вход будут только по приграшениям.
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #11 : 09.07.2008, 23:04:34 »
Я так и думал, но дело в том, что я немогу выбрать тип группы, на скриншоте все показано.
Спсибо за помощь, но до меня дощло, это надо было поставить в категории))

[вложение удалено Администратором]
« Последнее редактирование: 09.07.2008, 23:09:38 от Smell »
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #13 : 10.07.2008, 00:43:01 »
Проблема решена?
Да, но возникла новая, подскажи пожалуйста в каком php файле находятся вот эти слова (смотрите скриншот).

[вложение удалено Администратором]
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #15 : 10.07.2008, 00:56:24 »
Именно он.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #16 : 10.07.2008, 01:05:23 »
Открываешь components/com_comprofiler/plugin/user/plug_groupjivetab/templates/jason.tmpl
строка 27:

Код
&nbsp;{VISITLINK}&nbsp;|&nbsp;This Group has {MEMBERCOUNT} members.

Советую пройтись по файлу и внимательно просмотреть, возможно там еще нужен будет перевод некоторых слов. При сохранении файла указываешь кодировку документа windows-1251.
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #17 : 10.07.2008, 01:12:34 »
Большое спасибо.
+1
*

uniqum

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #18 : 10.07.2008, 03:30:24 »
опечаточка

define ('GJ_NEWESTMEM', 'Новые участникИ');
*

uniqum

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #19 : 10.07.2008, 04:45:47 »
тоже при инвайте непонятный текст
Цитировать
òàòàðèí

Версия БД:       5.0.51a-log
Версия PHP:    4.4.8

сделал всё выше перечисленное
« Последнее редактирование: 10.07.2008, 04:53:47 от uniqum »
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #20 : 10.07.2008, 10:46:21 »
Да, проблема с неверной кодировой при приглашении пока еще решена, об этом говорили выше. Как будет найдено решение, выложу рецепт. Опечатку исправлю, спасибо.
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #21 : 12.07.2008, 14:42:07 »
Можно ли как-то сделать, чтоб при регистрации пользователь автоматически попадал в определенную группу?Очень нужная штука.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #22 : 14.07.2008, 20:37:48 »
Исправление неправильной кодировки при поиске пользователей (на высоких версиях PHP5.x & MySQL 5.x):

Заменить echo utf8_encode($content) на echo $content в groupjive.php (строка 796)
*

Smell

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
  • Флудер быстрого реагирования...
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #23 : 19.07.2008, 13:06:26 »
Люди, ну что такое возможно или нет, описаное мной сверху?
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #24 : 19.07.2008, 14:01:48 »
Без внесения модификации, пожалуй, не обойтись. Стандартного решения не встречал.
*

ZuJust

  • Новичок
  • 3
  • 0 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #25 : 21.09.2008, 19:57:59 »
Ест ли таб для CB? показывающий  в каких группах пользователь
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
*

ZuJust

  • Новичок
  • 3
  • 0 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #27 : 22.09.2008, 15:35:52 »
нашел уже х) но вот проблемы с интеграцией в ФБ х( немогли бы ли вы написать русскую инструкцию?
*

ZuJust

  • Новичок
  • 3
  • 0 / 0
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #28 : 22.09.2008, 15:41:30 »
и еше вот , когда жмеш "вступить в группу":



SQL error when attempting to save a messageDB function failed with error number 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Team[/b]. Добро пожаловать в группу! Спасибо и ' at line 4 SQL=INSERT INTO jos_missus (senderid,datesended,subject,message) VALUES ('62','2008-09-22 15:29:16', 'Активность группы', 'Привет, Co***s! Это письмо является подтверждением того, что Z****st присоединился к группе Ani******rg Releaser's Team. Добро пожаловать в группу! Спасибо и добро пожаловать в группу. - - - - - - конец сообщения - - - - - -  * Это сообщение было сгенерировано автоматически. На него отвечать не надо. ')
SQL =

INSERT INTO jos_missus (senderid,datesended,subject,message)
VALUES ('62','2008-09-22 15:29:16',
'Активность группы',
'Привет, Co***s!



Это письмо является подтверждением того, что Z***st присоединился к группе Anim****g Releaser's Team.



Добро пожаловать в группу!




Спасибо и добро пожаловать в группу.






- - - - - - конец сообщения - - - - - -

* Это сообщение было сгенерировано автоматически. На него отвечать не надо.

')
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Русская редакция Groupjive 1.6 beta4
« Ответ #29 : 23.09.2008, 16:35:40 »
Так эта ошибка была поправлена в русской редакции.

Хотя обкатывали на uddeIM. Насчёт Missus ничего сказать не могу...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перевод пользовательской части компонента GroupJive 1.8

Автор DKsN

Ответов: 3
Просмотров: 2737
Последний ответ 12.03.2012, 03:04:53
от aryumin