Новости Joomla

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

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Не получается вставить в админке в карточке товара поле type="media", выдает ошибку
Цитировать
Fatal error: Call to a member function getValue() on null in /home/joj/site.ru/www/libraries/src/Form/Field/MediaField.php on line 196
Пробовал так:
Код
JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2->setup(new SimpleXMLElement('<field name="name_field" type="media" asset_field="name_field" asset_id="" created_by="" directory="images" link=""/>'), $product->name_field);

Может кто подскажет что не так?
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
del. Ошибся.
« Последнее редактирование: 01.10.2017, 14:03:50 от draff »
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
В Джумла 3 function get()
И что это значит? Что-то не доходит тайный смысл вашего ответа... Может поясните подробнее?
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вы не передавали объект JForm в $field2. Попробуйте так
Код
$field2 = new JFormFieldMedia(JForm $ваша_форма);
или
Код
$field2 = new JFormFieldMedia();
$field2->setForm($ваша_форма);
« Последнее редактирование: 01.10.2017, 11:45:14 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вы не передавали объект JForm в $field2. Попробуйте так
Код
$field2 = new JFormFieldMedia(JForm $ваша_форма);
Выдает такую же ошибку
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Обновил предыдущий пост.
Смысл в том, что вызывается функция getValue(), а сам объект Jform не определен.
« Последнее редактирование: 01.10.2017, 11:54:01 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Результат - Пустой экран
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

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

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вот:
Код
JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2->setForm($adminForm);
$field2->setup(new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>'), $product->bgimg2);
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вроде нормально выглядит. Что var_dump($field2) показывает?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Раньше в другом аддоне добавлял радио кнопки, работает без указания формы, а именно MediaField такие проблемы... может неправильно подключаю?

Код
jimport( 'joomla.src.form.field.MediaField' )
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Еще раз посмотрел ваш код и пришел к выводу, что он работать не будет. Смотрите: вызывается $adminForm->getValue(), которая, в свою очередь, делает выборку из $adminForm->data, а в $adminForm->data изначально не было загружено ваше новое поле.
Мне кажется, вам нужно добавить поле по-другому.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Тогда вопрос как? Радио кнопки работают, imagelist тоже, а media не работает.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте
Код
$adminForm->setField(SimpleXMLElement $xml_вашего_поля); 
// и если нужно
$adminForm->setValue($имя_вашего_поля, $group, $value);
Не будь паразитом, сделай что-нибудь самостоятельно!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте
Код
$adminForm->setField(SimpleXMLElement $xml_вашего_поля); 
// и если нужно
$adminForm->setValue($имя_вашего_поля, $group, $value);
У себя проверил - работает. А у вас, @kit2m2?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Еще не проверял. Вчера уже поздно было... (утро вечера мудренее...). Спасибо за помощь. Сегодня попробую, отпишусь.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
robert, не могли бы Вы привести полный код. Видимо что-то делаю не так, опять ошибка.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Я тестировал в своем компоненте.
Код
$new_media_field = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link="" label="New Media Field"/>');
$this->form->setField($new_media_field);
...
                <div class="control-group">
                    <div class="control-label"><?php echo $this->form->getLabel('bgimg2'); ?></div>
                    <div class="controls"><?php echo $this->form->getInput('bgimg2'); ?></div>
                </div>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Да в любом другом компоненте это работает, а в JoomShopping - нет. Но все равно попробую, спасибо. Пока решил вопрос с помощью "imagelist", оно работает...
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Что так:
Код
	JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$this->form->setField($field2);
Что так:
Код
	JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$adminForm->setField($field2);
Одна и та же ошибка:
Цитировать
Fatal error: Call to a member function setField() on null in /home/joj/SITE.ru/www/plugins/jshoppingadmin/bgimg_product/bgimg_product.php on line 49
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Код
$field2 = new JFormFieldMedia();
надо создать объект формы и передать его при создании поля
это вроде появилось только в 3.8
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что так:
Что так:
Одна и та же ошибка:
Где и как определены $this->form или $adminForm?
Код
$this->form = JForm::getInstance('products', '<form><fieldset></fieldset></form>', array('control' => '', 'load_data' => true), false, false);
$new_media_field = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link="" label="New Media Field"/>');
$this->form->setField($new_media_field);

...

echo $this->form->getLabel('bgimg2');
echo $this->form->getInput('bgimg2');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
И? В предыдущих версиях Joomla это тоже работало в JoomShoping, с другими типами полей.
Я это и написал вот только не работает в JoomShoping...
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Где и как определены $this->form или $adminForm?
Это форма редактирования товара, поле уже в этой форме выводиться (через аддон).
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Ура, заработало :D

Получилось так:
Код
	$this->form = JForm::getInstance('products', '<form><fieldset></fieldset></form>', array('control' => '', 'load_data' => true), false, false);
JFormHelper::loadFieldClass('media');
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$this->form->setField($field2);

Вот только не сохраняет выбор, наверное формат столбца в базе нужно менять.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Нет, посмотрел в базе сохраняет... Выбранное изображение не сохраняется в адинке карточки товара, поле сохранения товара - в поле пусто.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Получилось так:
Код
$this->form->setValue('bgimg2', null, $product->bgimg2);
« Последнее редактирование: 02.10.2017, 15:42:56 от kit2m2 »
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ограничение Order number в админке?

Автор ИммоБокс

Ответов: 2
Просмотров: 173
Последний ответ 13.03.2024, 11:26:33
от ИммоБокс
Медленно загружается карточка товара

Автор svarg

Ответов: 7
Просмотров: 839
Последний ответ 10.07.2023, 16:14:36
от svarg
Как добавить количество товара возле кнопки купить в списке товаров?

Автор Prosever

Ответов: 3
Просмотров: 2383
Последний ответ 17.04.2023, 23:56:52
от tigra-uki
[Решено] Не отображать краткое описание товара вместо полного на стр.товара

Автор goga_pgasovav

Ответов: 7
Просмотров: 1102
Последний ответ 30.01.2023, 15:31:24
от kit2m2
JoomShoppnig - пропали изображения в карточке товара

Автор Hush

Ответов: 1
Просмотров: 733
Последний ответ 27.01.2023, 01:05:54
от nevigen