Jump to content


Photo
* * * * * 1 votes

Метод Save()


Best Answer CB9TOIIIA , 29 October 2020 - 08:31

https://github.com/JBZoo/JBDump

 

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

jbdump::log($test);
Go to the full post


4 replies to this topic

#1 axeld

axeld
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 28 October 2020 - 15:06

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

<?php
//Подкючение Joomla Framework
define( '_JEXEC', 1 );
if ( file_exists( __DIR__ . '/defines.php' ) ) {
    include_once __DIR__ . '/defines.php';
}
if ( !defined( '_JDEFINES' ) ) {
    define( 'JPATH_BASE', __DIR__ . '/../../..' );
    require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';


$app = JFactory::getApplication('site');
$app->initialise();

// include Zoo & JBZoo
require_once JPATH_BASE . '/administrator/components/com_zoo/config.php';
require_once JPATH_BASE . '/media/zoo/applications/jbuniversal/framework/jbzoo.php';

$zoo = App::getInstance('zoo');

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

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

   $item = $zoo->table->item->get('1'); // материал id=1 - есть, элемент '7f7e591f-ca34-4101-a374-46a7510527cf' -есть

   $linktodisqussiteend = 'Просто текст';
   $item->getElement('7f7e591f-ca34-4101-a374-46a7510527cf')->bindData(array(array('value' => $linktodisqussiteend)));
   $zoo->table->item->save($item);

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

 

 


  • 0

#2 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 28 October 2020 - 17:31

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

 $item->state = 0;
 // $this->app->table->item->save($item);
 $zoo->table->item->save($item);



  • 0

#3 axeld

axeld
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 29 October 2020 - 07:30

$item->state = 0;

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

$item->state = 1;

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

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

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

 
 


  • 0

#4 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 29 October 2020 - 08:31   Best Answer

https://github.com/JBZoo/JBDump

 

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

jbdump::log($test);

  • 0

#5 axeld

axeld
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.8
  • posts: 661
  • topics: 194

Posted 29 October 2020 - 13:13

Написал так
 

    include (JPATH_BASE . '/class.jbdump.php'); // подключение jbdump
    //jbdump($item); // отладка
    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!