0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 564 Просмотров
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
Есть в админке поля своего типа, для вывода и редактирования определенного поля в таблице БД.

Т.е. создаю наследник JFormFieldText, получаю значение и создаю поле.
Спойлер
[свернуть]

Прописываю это поле в XML
Спойлер
[свернуть]
Получается поле с именем form[params][price1].  Какой метод нужно создать в классе поля или в хэлпере чтобы получить значение этого поля при нажатии кнопки "Сохранить" в админке модуля?  Как я понял получить можно через $params->get('price1') только в каком методе?
*

Aleks.Denezh

  • Практически профи
  • 2806
  • 377
А где имя поля? Как система по вашему поймет что поле послало какие то значения что бы их записать?

return '<input type="text" value="' . $value . '" name="'.$this->name.'">';

И тогда в сможете получить в модуле в точке входа в модуль и в подключаемом шаблоне параметры через echo $params->get('price1');
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
Забыл написать, что у меня name было прописано вручную, т.е.
return '<input type="text" value="' . $value . '" name="jform[params][price1]" >';

« Последнее редактирование: 02.04.2016, 18:45:47 от eugenex »
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
В общем, написал в точке входа в модуль mod_mymodule.php код сохраняющий новое значения поля:

Спойлер
[свернуть]

Поле обновляется но только если я перезагружу страницу, где выводится модуль. То есть, если я просто изменил значение в админке и сохранился, то обновления поля не происходит и в поле я вижу старое значение. Если я сохранился, перезагрузил страницу с модулем, потом перезагрузил админку - тогда я вижу поле с обновленным значением. Т.е. точка входа в модуль не совсем подходящее место для обработки параметров, в моём случае. 
*

robert

  • Профи
  • 4082
  • 378
Вы задали некорректный вопрос, из-за чего вам не могли дать нужный ответ - надо было просто описать ситуацию.
Вам нужно не получить значение поля, а записать его новое значение в свою таблицу plots. Для этого напишите плагин на событие onExtensionAfterSave.
Я только не понял, зачем вы навязали своему полю значение из таблицы plots, когда по-умолчанию оно записывается в таблицу modules и берется оттуда же?
« Последнее редактирование: 02.04.2016, 21:23:07 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
Я только не понял, зачем вы навязали своему полю значение из таблицы plots, когда по-умолчанию оно записывается в таблицу modules и берется оттуда же?
Кстати да, нашел в таблице modules в поле params такой ассоциативный массив:
Цитировать
{"price1":"45","price2":"40000" ...

Его нужно доставать запросом или существует штатное средство доступа к параметрам модуля?
*

dmitry_stas

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

robert

  • Профи
  • 4082
  • 378
Очень часто почему-то придумали себе логику действия, затем поверили, что она единственная верная и в ее контексте начали задавать вопросы. Не зацикливайтесь на своем алгоритме, просто расскажите, что вы хотите делать.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

dmitry_stas

  • Профи
  • 10060
  • 955
да, действительно очень часто. в том числе и от заказчиков. иногда ловишь себя на мысли, что тебе уже даже рассказали как сделать, но при этом до что именно сделать так и не дошли :) приходится отматывать на начало :)

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

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
откуда именно вы хотите достучаться к параметрам модуля?

Очень часто почему-то придумали себе логику действия, затем поверили, что она единственная верная и в ее контексте начали задавать вопросы. Не зацикливайтесь на своем алгоритме, просто расскажите, что вы хотите делать.


Есть участки, у них есть цена, площадь, номер и т.д. Должна быть возможность из админки менять цену. То есть, если я в админке модуля ввел новую цену и нажал "Сохранить" то я должен увидеть свою новую цену.   
*

dmitry_stas

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

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
На фронтэнде участок это <area> в интерактивной карте. Координаты <area> заданы статически, в самом теге. При наведении мыши показывается всплывающее окошко с информацией об участке(цена, площадь и т.д.). С точки зрения программной реализации это просто записи из таблицы БД.
*

robert

  • Профи
  • 4082
  • 378
Если цена - статическая текстовая величина, то не нужно придумывать свой тип поля, достаточно добавить в XML новое поле type="text" name="price1", а на фронте получить его в params.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
Если цена - статическая текстовая величина, то не нужно придумывать свой тип поля, достаточно добавить в XML новое поле type="text" name="price1", а на фронте получить его в params.

Цена как раз не статическая величина. Она должна редактироваться.

А в общем, да - идея понятна. Можно цену менять и без своего типа поля. Только надо как-то связать эту цену по id  с остальными атрибутами участка.   
Хотя, их тоже можно хранить статически. Тогда, наверное да - свой тип поля не нужен.
« Последнее редактирование: 03.04.2016, 15:43:45 от eugenex »
*

eugenex

  • Осваиваюсь на форуме
  • 51
  • 0
Только надо как-то связать эту цену по id  с остальными атрибутами участка.   
Хотя, их тоже можно хранить статически.
Туплю неподеццки)) В моём случае вообще всё равно - статически хранить остальные атрибуты или в таблице.
В общем, вопрос решён, спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Написание плагина оплаты

Автор rkron

Ответов: 0
Просмотров: 165
Последний ответ 02.03.2017, 10:25:28
от rkron
Как вывести на страницу параметры модуля?

Автор Absalem

Ответов: 20
Просмотров: 559
Последний ответ 07.09.2016, 20:47:47
от robert
обновление модуля

Автор jmaf

Ответов: 1
Просмотров: 306
Последний ответ 02.11.2015, 10:19:44
от b2z
переопределение языковой переменной на в

Автор Aeliot

Ответов: 3
Просмотров: 527
Последний ответ 24.04.2014, 13:51:54
от Aeliot
5 простых способов “ускорения” сайта

Автор boston

Ответов: 28
Просмотров: 33002
Последний ответ 15.04.2014, 15:48:21
от atkaa1