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

eugenex

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

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

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

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
А где имя поля? Как система по вашему поймет что поле послало какие то значения что бы их записать?

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

И тогда в сможете получить в модуле в точке входа в модуль и в подключаемом шаблоне параметры через echo $params->get('price1');
*

eugenex

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

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

eugenex

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

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

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

robert

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

eugenex

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

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

dmitry_stas

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Очень часто почему-то придумали себе логику действия, затем поверили, что она единственная верная и в ее контексте начали задавать вопросы. Не зацикливайтесь на своем алгоритме, просто расскажите, что вы хотите делать.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
да, действительно очень часто. в том числе и от заказчиков. иногда ловишь себя на мысли, что тебе уже даже рассказали как сделать, но при этом до что именно сделать так и не дошли :) приходится отматывать на начало :)

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

eugenex

  • Захожу иногда
  • 51
  • 0 / 0
откуда именно вы хотите достучаться к параметрам модуля?

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


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

dmitry_stas

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

eugenex

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Если цена - статическая текстовая величина, то не нужно придумывать свой тип поля, достаточно добавить в XML новое поле type="text" name="price1", а на фронте получить его в params.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

eugenex

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

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

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

eugenex

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

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

Автор rkron

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

Автор Absalem

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

Автор jmaf

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

Автор Aeliot

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

Автор boston

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