MODX
UPDATE через xpdo modx
Обновим заголовок ресурса
$resource_id = 1; // Установка метки о отскоке
$c = $this->modx->newQuery('modResource');
$c->command('UPDATE');
$c->query['set']['pagetitle'] = array( 'value' => 'Новый заголовок', 'type' => false, );
$c->where(array( 'id' => $resource_id, ));
$c->prepare();
$c->stmt->execute();
0 30
UPDATE через xpdo
Обновление информации у записи через xpdo
$c = $modx->newQuery('bxQueue');
$c->command('UPDATE');
$c->query['set']['failure'] = array(
'value' => 1,
'type' => false,
);
$c->andCondition(array(
'hash' => $hash_queue,
));
$c->prepare();
echo '<pre>';
print_r($c->toSQL());
die;
$c->stmt->execute();
0 20
Отметка всех записей в списке grid ExtJs
Методы для таблицы
checker: function () {
var checker = this.getSelectionModel()
var count_checked = checker.getCount()
var count = this.getStore().getCount()
if (count === count_checked) {
checker.clearSelections()
{ else {
checker.selectAll()
{
{,
0 23
Сохранение данных в массив на MODX
Небольшая функция для сохранения данных в массив.
$cacheManager = $modx->getCacheManager();
$response = $cacheManager->set('data', $data, 1000000, array(
xPDO::OPT_CACHE_KEY => 'default/temp'
));
После сохранения данные появятся в папке
/core/cache/default/temp/data.cache.php
0 19
Curl Client MODX REVOLUTION
Встроенный сервис curl для modx revolution
/* @var modRestCurlClient $curlClient */
public $curlClient = null;
public $apiURL = 'https://mysite.ru/api/';
public function request($service, $params = array(), $options = array())
{
$options = array();
$options = array_merge(array(
'contentType' => 'json',
), $options);
$url = $this->apiURL . $service;
$result = $this->curlClient->request($url, '', 'GET', $params, $options);
return (array)json_decode($result, true);
}
0 22
Автоматически вход на сайт без логина и пароля
Код вставляется на страницу и отображает кнопку войти или выйти в зависимости от авторизации.
{if $modx->user->id == 0}
{if $.get['login'] == 1}
{$modx->getObject('modUser', 2)->addSessionContext('web')}
Вы успешно вошли.
{else}
<a href="[[~[[*id]]]]?login=1">Войти</a>
{/if}
{else}
{if $.get['logout'] == 1}
{$modx->getObject('modUser', 2)->removeSessionContext('web')}
Вы вышли.
{else}
<a href="[[~[[*id]]]]?logout=1">Выйти</a>
{/if}
{/if}
0 16
Обновление информация UPDATE/INSERT
Решения для быстрого обновления информации в таблицах для modx revolution
0 12
Расширение CacheManager для кэширование информации
Используем класс MODX CacheManager для кэширование информации.ss
0 49
Автоматическая авторизация на сайте на MODX REVOLUTION
При вставке в плагин можно автоматически получить доступ к сайту.
22 сентября 2018, 20:34 1939
Автоматически перезагрузка combo при выборе значения
Скрипт для обновления значений в списках select
MarkModel.combo.Vendor = function (config) {
config = config || {}
Ext.applyIf(config, {
name: config.name || 'vendor',
fieldLabel: _('ms2_product_' + config.name || 'vendor'),
hiddenName: config.name || 'vendor',
displayField: 'name',
valueField: 'id',
anchor: '99%',
fields: ['name', 'id'],
pageSize: 20,
url: miniShop2.config['connector_url'],
typeAhead: true,
editable: true,
allowBlank: true,
emptyText: _('no'),
baseParams: {
action: 'mgr/settings/vendor/getlist',
combo: true,
id: config.value,
},
listeners: {
select: {
fn: function (field, record) {
// эти значения перезагрузят
Ext.getCmp('minishop2-window-seller-create-model').show(false).setWidth(340).reset()
Ext.getCmp('minishop2-window-seller-create-model').baseParams.vendor_id = record.id
Ext.getCmp('minishop2-window-seller-create-model').getStore().load()
return true;
},
scope: this
}
}
})
MarkModel.combo.Vendor.superclass.constructor.call(this, config)
}
Ext.extend(MarkModel.combo.Vendor, MODx.combo.ComboBox)
Ext.reg('markmodel-combo-mark', MarkModel.combo.Vendor)
16 сентября 2020, 20:49 1998