OBEC POCTE
NEVSEREMOS'!
Неактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зіркаНеактивна зірка
 
Multithumb found errors on this page:

There was a problem loading image http://static.xscreenshot.com/2016/03/07/16/screen_4063dcccbdc913660331e2914070b38e
There was a problem loading image http://static.xscreenshot.com/2016/03/07/16/screen_4063dcccbdc913660331e2914070b38e

screen_4063dcccbdc913660331e2914070b38eТреба було внести зміни в налаштування плагіна при інсталляції іншого розширення. Нижче наведено приклад мого коду.

Проблема дещо ускладнювалась тим, що об’єкт з параметрами містив вкладений об’єкт.

Скріншот для кращого розуміння структури моїх даних.

// Get extension table class
$extensionTable = JTable::getInstance('extension');
// Find plugin id, in my case it was plg_ajax_ajaxhelpary
$pluginId = $extensionTable->find( array('element' => 'ajaxhelpary', 'type' => 'plugin') );
$extensionTable->load($pluginId); // Get joomla default object $params = new JRegistry; $params->loadString($extensionTable->params, 'JSON'); // Load my plugin params. $list_templates = json_decode($params->get('list_templates')); // list_templates is an object if array, so I need to encode it once more here
if (!empty($params->get('list_templates')) && $list_templates === NULL) { // The default joomla installation procedure doesn't store defaut params into the DB in the correct way
    $params_tmp = str_replace("'",'"',$params->get('list_templates'));
    $list_templates = json_decode($params_tmp);
} // Some my special code simply to illustrate and help to understand $update_ajaxhelpary = true; foreach ($list_templates->plg_name as $key=>$plg_name) { if ($plg_name == 'notifyarticlesubmit') { unset($list_templates->plg_name[$key]); unset($list_templates->plg_type[$key]); unset($list_templates->scope[$key]); unset($list_templates->function[$key]); } if ($plg_name == $this->plg_name) { $update_ajaxhelpary = false; } } foreach ($list_templates as $k=>$array) { $list_templates->$k = array_values($array); } if ($update_ajaxhelpary) { $list_templates->plg_type[] = $this->plg_type; $list_templates->plg_name[] = $this->plg_name; $list_templates->function[] = '_ajaxRun'; $list_templates->scope[] = 'both'; } // By here my object is ready to be saved $list_templates = json_encode($list_templates); // Prepare it to the database $params->set('list_templates',$list_templates); // Set to parameters $extensionTable->bind( array('params' => $params->toString()) ); // Bind to extension table // check and store if (!$extensionTable->check()) { $this->setError($extensionTable->getError()); //~ return false; } if (!$extensionTable->store()) { $this->setError($extensionTable->getError()); //~ return false; }

Зареєструйтесь, щоби додавати коментарі

Якщо ви помітили помилку, то виділіть фрагмент тексту та натисніть Ctrl+Enter
FaLang translation system by Faboba
ОУН-УПА: легенда спротиву Українська Дивізія «Галичина» Зиновій Книш: спогади й матеріали до діяння УВО і ОУН Реаніматор електронних текстів Забуттю не підлягає 1917-1991
Orphus System

Коментарі

  • Форматування PHP коду у VS Code відповідно до Joomla Coding Standards, тобто про phpcs та php-cs-fixer

    oppo oppo 16.03.2018 09:54
    спасибі, грамотно написано

    Детальніше...

     
  • Урок на майбутнє. Зброя і революція.

    Chillipepper Chillipepper 20.12.2016 22:59
    "... малі держави не можуть ефективно покладатися виключно на стримування в якості основної стратегії ...

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    gruz gruz 13.07.2016 18:38
    Виправив в останній версі 4.5.3

    Детальніше...

     
  • AutoReadMore - автоматичне додавання кнопки Детальніше для статей Joomla, інших компонентів і модулі

    гром гром 13.07.2016 10:01
    Привіт! Відмінний плагін, не можу застосувати його до категорій. Або скрізь працює або ніде! У ...

    Детальніше...

     
  • VirtueMart 2.x Categories accordion menu

    gruz gruz 28.12.2015 12:54
    http://static.xscreenshot.com/small/2016/01/06/02/screen_12a86996b1b92dde3e5c4ca5b872b516 ...

    Детальніше...