Перейти к содержимому


Фотография
* * * * * 1 Голосов

Метод Save()


Лучший Ответ CB9TOIIIA , 29 October 2020 - 08:31

https://github.com/JBZoo/JBDump

 

Есть и в логи (log) писать автоматом и на почту (mail) отправить и кофе сварить:

  1. jbdump::log($test);
Перейти к сообщению


Сообщений в теме: 4

#1 axeld

axeld

Отправлено 28 October 2020 - 15:06

Здравствуйте. Столкнулся с проблемой.
У меня есть сторонний файл в Joomla, к которому я подключил JBZoo

  1. <?php
  2. //Подкючение Joomla Framework
  3. define( '_JEXEC', 1 );
  4. if ( file_exists( __DIR__ . '/defines.php' ) ) {
  5. include_once __DIR__ . '/defines.php';
  6. }
  7. if ( !defined( '_JDEFINES' ) ) {
  8. define( 'JPATH_BASE', __DIR__ . '/../../..' );
  9. require_once JPATH_BASE . '/includes/defines.php';
  10. }
  11. require_once JPATH_BASE . '/includes/framework.php';
  12.  
  13.  
  14. $app = JFactory::getApplication('site');
  15. $app->initialise();
  16.  
  17. // include Zoo & JBZoo
  18. require_once JPATH_BASE . '/administrator/components/com_zoo/config.php';
  19. require_once JPATH_BASE . '/media/zoo/applications/jbuniversal/framework/jbzoo.php';
  20.  
  21. $zoo = App::getInstance('zoo');

Дальше все вроде работает, можно вытащить материалы, категории и др.
Но никак не могу записать данные обратно в материал.

С помощью ajax из файла своего плагина передаю параметры и  

  1. $item = $zoo->table->item->get('1'); // материал id=1 - есть, элемент '7f7e591f-ca34-4101-a374-46a7510527cf' -есть
  2.  
  3. $linktodisqussiteend = 'Просто текст';
  4. $item->getElement('7f7e591f-ca34-4101-a374-46a7510527cf')->bindData(array(array('value' => $linktodisqussiteend)));
  5. $zoo->table->item->save($item);

НЕ РАБОТАЕТ.
Может я не все подключил ?

 

 


  • 0

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 28 October 2020 - 17:31

Проверьте на state вначале:

  1. $item->state = 0;
  2. // $this->app->table->item->save($item);
  3. $zoo->table->item->save($item);
  4.  
  5.  

  • 0

#3 axeld

axeld

Отправлено 29 October 2020 - 07:30

  1. $item->state = 0;

Если писать так, записывается "0", если так 

  1. $item->state = 1;

Записывается "1", то есть запись в материал работает.
как только пишу строки

  1. $item->getElement('7f7e591f-ca34-4101-a374-46a7510527cf')->bindData(array(array('value' => $linktodisqussiteend)));
  2. $zoo->table->item->save($item); 

Сразу ошибка. какая именно посмотреть не знаю как. Так как отправляю данные через ajax.
просто пишет. POST http://Мой-сайт.ru/p..._axeld/form.php 500 (Internal Server Error)
 

 
 


  • 0

#4 CB9TOIIIA

CB9TOIIIA

Отправлено 29 October 2020 - 08:31   Лучший Ответ

https://github.com/JBZoo/JBDump

 

Есть и в логи (log) писать автоматом и на почту (mail) отправить и кофе сварить:

  1. jbdump::log($test);

  • 0

#5 axeld

axeld

Отправлено 29 October 2020 - 13:13

Написал так
 

  1. include (JPATH_BASE . '/class.jbdump.php'); // подключение jbdump
  2. //jbdump($item); // отладка
  3. jbdump::log($item);

В лог ошибок попадает только предупреждение.
"Use of undefined constant JBZOO_APP_GROUP - assumed 'JBZOO_APP_GROUP' (this will throw an Error in a future version of PHP) in /home/httpd/vhosts/Мой-сайт.ru/httpdocs/media/zoo/applications/jbuniversal/framework/jbzoo.php on line 45, " - но мне кажется это не причем...
 


  • 0




Click to return to top of page in style!