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

GDV

  • Завсегдатай
  • 1898
  • 201 / 5
userxp ОБЫДНО к америкосам равняться. Давай лучше к европейцам что ли. ;)
Американцы это винегрет а не нация. Американцев как таковых и не осталось.
Да и давайте не будем ни к кому равнятся. Славяне тоже нация не хилая. Ясно что нам идти своим путем. Только вот какой это будет путь?
Научимся мы ли платить за то что хотим получит или так и будем искать способы халявы.
Неужто мы так некогда и не поймем что за все в этом мире нужно платить. Хотим обслуживание по класу люкс, так и платить должны по этому же класу. хотим бесплатную альтернативу ну и получим сырое решение наших вопросов.
Халява вечно двигать прогрес не сможет по оптеделению. Т.к. лишена мотивации.
Убедительная просьба не писать в ЛС. Для решения Ваших проблем есть форум.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
все претензии к митричу ;D

у нас люди не умеют зарабатывать деньги, соответственно, тратить их они тоже не умеют
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
@GDV, отвечая на изначальный вопрос, могу твердо сказать, что в наших реалиях, создание клуба скажется негативно на продукте. Пока продукт бесплатный, я могу спокойно заниматься только тем, что мне интересно - развивать его таким образом, каким мне считается правильным, поддерживать на таком уровне, на котором считаю необходимым, выпускать версии и патчи так часто, как это позволяет свободное время. И, как показывает время, в таком режиме продукт существует довольно долго и вполне успешно.

Я начал писать расширения для Mambo/Joomla в 2003 году, еще до выпуска CommunityBuilder у меня был ничуть не уступающий ему продукт, был и CCK. Но сил на развитие, продвижение, продажу и саппорт у меня не было. Посему все те проекты были похоронены. Потом было еще много чего. Раза 3 я предлагал различным людям - займитесь маркетингом, займитесь рекламой, возьмите на себя саппорт, переводы и всю рутину - оставьте мне только программирование, и я сделаю конфету, а не продукт. Мне интересен в первую очередь процесс проектирования, разработки и отладки. И что? Да ничего, пару раз были потуги, которые ничем и не закончились. Я заморозил еще с десяток расширений и забил. Сидеть на всех стульях сразу нельзя. Поэтому когда в один прекрасный день мне пару друзей пожаловались, что нет нормальных компонентов комментариев, которые устанавливались и работали, я решил сделать такой. Просто в качестве эксперимента, на тему "можно ли сделать продукт, который будет работать без напильников в подавляющем большинстве случаев". Результаты известны всем.

Да, можно завтра сделать клуб, выпустить "премиум" версию (благо идей и наработок пока хватает), но что мы получим в результате? Даже если ориентироваться на озвученную символическую сумму в виде 1000 руб в год. Я уверен более чем на 100%, что членство в клубе купят человек 50-70. Не более... И эти деньги абсолютно никак не спасут ситуации, а вот работы добавится. И, помимо всего прочего, не далее чем через месяц, найдутся умники, которые в складчину, купят членство в клубе, и выложат эту "премиум" версию в общий доступ. Таким образом помимо все появится работа по поиску вареза и борьбе с ним. И все это ради 150$ в месяц? Ну смешно.

Делать же клуб ради платного саппорта, мне кажется не совсем правильно. Продукт без саппорта вообще не продукт. Брать деньги за исправление глюков в продукте - это нечестно, по отношению к пользователям. Которых, разработчик, сначала "подсаживает" на продукт, а потом начинает "доить". Мне кажется это неприемлемым, а вот зарубежные разработчики практикуют данное направление очень активно. Причем, я в свое время был очень сильно удивлен, пообщавшись с довольно большим количеством буржуев - больше половины из тех, с кем я общался крайне негативно отзывались о качестве саппорта коммерческих расширений. Примерно каждого третьего из них хотя бы раз фактически послали нафиг, хотя проблема была в продукте. Вот и получается, смотришь на зарубежный рынок - внешне все цивилизовано, разработчики сыты, сайты красивы, реклама многобещающа. А копнешь чуть глубже, и видно, что продукты гнилые, саппорт мертвый, клиенты беспомощны и бегают по сторонним форумам в поисках решений своих проблем.

Что касается монетизации индекса цитирования или PR, то тут ситуация по Дюма - для Атоса слишком много, для графа де ЛаФер слишком мало. Если начинать монетизировать текущие значения данных показателей, то они слишком быстро слетят вниз, и вреда будет больше, чем пользы.

Но это отнюдь не значит, что нет никакого выхода. Выход в принципе есть. Причем вполне корректный, как по отношению к пользователям, так и к разработчику. Мы его уже пару раз обсуждали со старожилами форума. Можно ввести практику спонсирования каких-либо функций или дополнений. Т.е. сообщество высказывает набор пожеланий, разработчик оценивает, сообщество собирает необходимую сумму и получает данный функционал в ближайшей версии. Или же разработчик делает анонс некоего нового плагина, и предлагает сообществу единоразово выкупить его. При этом никаких проблем с варезом - единожды выкупив плагин, он становится доступен всем пользователям и поддерживается разработчиком.

Я вот вообще удивляюсь - как Серега все это успевает?
как сказано у классика "успевает всюду тот, кто никуда не торопится (с) Ф.Ф. Преображенский, Собачье сердце, М. Булгаков

Хотя, казалось бы, что там еще в комментариях можно придумать и сделать? : )
ой, Паш, ты себе не представляешь, сколько там всего можно еще придумать и сделать. На текущий момент (уже без учета того, что сделано в новой версии), список всяких полезных функций перевалил за 40 пунктов. Это не считая идей по оптимизации и интерфейсным улучшениям.

А насчет поколений. Можно конечно обвинять текущее поколение, что оно потерянное, что невоспитанное, необразованное. Но прежде всего стоит задуматься, а что мы сделали для того, чтобы оно было другим. Да, халявщиков полно, и хамов достаточно. Но есть довольно много и талантливых ребят. А значит, что кто-то приложил чуть больше усилий и воспитал их такими, приучил думать, научил работать. Большинство их тех, кто нынче ворчит по поводу молодежи, немногим старше 30-35 лет. Я думаю у половины из них есть младшие братья-сестры, которые как раз принадлежат к нынешней молодежи. А значит, у них у всех был шанс повлиять - в первую очередь на воспитание братьев, и во-вторую, уже косвенно на друзей своих братьев (одноклассников, одногруппников и т.д.). Заинтересовать, объяснить, научить, помочь... Все ли это сделали, кто мог - тут каждый сам знает. Надо ли помогать или надо пробиваться самому - вопрос сложный, я считаю, что на старте помочь нужно обязательно.

Вот я, как показывает время, недостаточно уделил внимания младшему брату, и уже который год пытаюсь это исправить. Пока процесс идет тяжело, но на сегодня у меня есть четкая уверенность, что если бы я об этом подумал на пару лет раньше, то было бы намного проще.

Фух... Вроде всё.
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Смарт, лучше бы сразу интервью писал, я бы в блог поместил... Кстати у нас возможно не хватает такого раздела.

Цитировать
Но это отнюдь не значит, что нет никакого выхода. Выход в принципе есть. Причем вполне корректный, как по отношению к пользователям, так и к разработчику. Мы его уже пару раз обсуждали со старожилами форума. Можно ввести практику спонсирования каких-либо функций или дополнений. Т.е. сообщество высказывает набор пожеланий, разработчик оценивает, сообщество собирает необходимую сумму и получает данный функционал в ближайшей версии. Или же разработчик делает анонс некоего нового плагина, и предлагает сообществу единоразово выкупить его. При этом никаких проблем с варезом - единожды выкупив плагин, он становится доступен всем пользователям и поддерживается разработчиком.
Вообще я давно думаю, что форуму нужна социальная сеть... Даже Joomla.орг переходит на соц. сеть. Просто таким образом, было бы легче решать эти вопросы.
Всё что не анархия, то фашизм...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Смарт, лучше бы сразу интервью писал, я бы в блог поместил...
ну был вопрос, я решил дать развернутый ответ, тем более, что я последнее время малехо пропадал на форуме

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

Просто таким образом, было бы легче решать эти вопросы.
не думаю, что легче
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Самоизоляция для разработчиков

Автор Шмайсер

Ответов: 15
Просмотров: 1547
Последний ответ 26.12.2020, 16:49:38
от SeBun
Темы каких разработчиков лучше всего использовать?

Автор kost757

Ответов: 30
Просмотров: 3904
Последний ответ 28.09.2014, 15:04:23
от kost757