Наверх

Шпаргалки по MODX RSS

Перегенерировать все превью товаров miniShop2

10 сентября 2014, 11:09

<?php
$step = 5;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$miniShop2 = $modx->getService('minishop2');
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('msProductFile', array('parent' => 0));
$total = $modx->getCount('msProductFile', $q);
$q->sortby('product_id', 'ASC');
$q->sortby('rank', 'DESC');
$q->limit($step,$offset);
$resources = $modx->getCollection('msProductFile', $q);
foreach ($resources as $resource) {
    $modx->runProcessor('mgr/gallery/generate', array('id' => $resource->id),
        array('processors_path' => $modx->getOption('core_path').'components/minishop2/processors/'));
}

$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";

Читать дальше

Вывод текстовых значений ТВ-параметра (Первый==1||Второй==2)

21 августа 2014, 12:20

<?php
$tv = $modx->getObject('modTemplateVar', array('name' => $name));
$elements = $tv->get('elements');
$element = explode('||', $elements);
$els = array();
foreach($element as $e) {
  list($elName,$elId) = explode("==", $e);
  $els[$elId] = $elName;
}
echo $els[$input];

Вывод: [[+adsType:tvValue]]

Автор: kondakovdm
Читать дальше

Основы AJAX

17 июля 2014, 15:22

<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
if (empty($_POST['action'])) {return;}
$res = '';
switch ($_POST['action']) {
	case 'helloWorld':
		$res = 'Hello World!';
		break;
}
if (!empty($res)) {
	die($res);
}

Читать дальше

xPDOQuery.where

17 июля 2014, 15:12

Where добавляет условие к выборке
		 Символ		Пример
Равно		 —		$query->where(array('width' => 15));
Не равно	 !=		$query->where(array('width:!=' => 15));
Меньше		 >		$query->where(array('width:>' => 15));
Больше		 <		$query->where(array('width:<' => 15));
больше или равно >=		$query->where(array('width:>=' => 15));
Меньше или равно <=		$query->where(array('width:<=' => 15));
Like		 LIKE		$query->where(array('width:LIKE' => '%15%'));
Not Like	 NOT LIKE	$query->where(array('width:NOT LIKE' => '%15%'));
В массиве	 IN		$query->where(array('width:IN' => array(15,16,17,20)));
Не в массиве	 NOT IN		$query->where(array('width:NOT IN' => array(15,16,17,20)));
Равно NULL	 IS		$query->where(array('width:IS' => null));

Читать дальше

Создание ресурса с помощью MODX API

17 июля 2014, 14:53

Для того, чтобы создать новый ресурс с помощью кода, нужно использовать процессор resource/create:
$response = $modx->runProcessor('resource/create', $data);
if ($response->isError()) {
    return $modx->error->failure($response->getMessage());
}

$id = $response->response['object']['id'];
return $id;

Читать дальше

Авторизация

через сервис Loginza:

Подписка или RSS

Буду присылать новые статьи — никакого спама



Шаблоны MODX

1 2 Дальше »

Объектная
модель
MODX