используя JParameter в Joomla - PullRequest
       0

используя JParameter в Joomla

0 голосов
/ 09 ноября 2011

Я думаю об использовании JParams для хранения последней даты посещения определенная страница на сайте Joomla 1.7.1. Итак, в коде я делаю что-то вроде:

$last_run       = $params->get('last_visit', '2000-01-01');
// set last_run to current run time
$params->set('last_visit', $now);

Проблема, очевидно, в том, что вновь установлено значение для last_visit не сохраняется, хотя и устанавливается.

Есть ли способ сохранить параметры, не заходя в БД запрос? Спасибо

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Вы можете сделать это с помощью плагина контента, который срабатывает при просмотре.

public function onContentPrepare(...) {
   ...store hit date into table...
}

Хорошая вещь в этом методе заключается в том, что вам не нужны основные хаки.

0 голосов
/ 10 ноября 2011

Вот пример решения вашей проблемы, но нужно помнить, что это для Joomla 1.5

// Get instance of the table object of your component
$table =& JTable::getInstance( 'mytable');
// Set the item, this could be Article ID for example
$table->load($id);
// Load the parameters through JParameter
$params   = new JParameter($table->params);
$params->set($key,$value);
$table->params = $params->toString();
// Save to database
$table->store();

Все это можно сделать в плагине, если вы не хотите изменять ядро ​​компонентав противном случае, если это компонент, который вы создаете, вы можете установить его в модели компонента и вызывать его из контроллера при каждом сохранении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...