Вывод количества документов

Василий, приветствую.

Хочу вывести количество товара в каждой категории. Для этого использую такой сниппет:
$id=$modx->getOption('id',$scriptProperties,0);
if ($id == 0) return 'Не задан id страницы';
$depth = 10; //глубина вложенности
$arr = $modx->getChildIds($id,$depth);//получили массив ids всех потомков(и контейнеров и документов)
if (count($arr) == 0) return '';
$c = $modx->newQuery('modResource');
$c->where(array(
  'id:IN'=>$arr, //выбираем только детей
  'isfolder'=>0  //отсекаем контейнеры
));
$c->limit = 0;
$docs=$modx->getCollection('modResource',$c);//получили коллекцию детей-документов
return count($docs);
Придумал не я))
Все отлично работает, но в MS2 есть возможность добавлять один товар в несколько категорий, а этот сниппет считает только те товары, которые «физически» присутствуют в категории.

Подскажи, пожалуйста, как вывести количество всех товаров? Может есть какое готовое решение?
Спасибо.
Evgeny Epifanov
13 июля 2013, 13:28
modx.pro
3 410
0

Некорректная кодировка в компоненте polls

Всем привет! Хочу сделать голосование на сайте, установил компонент Polls с репозитория. Но похоже что проблема с кодировкой. Отображается все вопросиками. Просмотрел все файлы компонента, не нашел указания какой либо кодировки. Может кто решал такую проблему? гугл не помог, целый день искал что нить с подобной проблемой.
PS остальные компоненты и админка работает отлично. Проблем с кодировкой не наблюдал.
Михаил
12 июля 2013, 15:54
modx.pro
1 307
0

вивод первого изображения с контента статьи

добрый день делаю вывод статей с помощью артикла нужно чтобы первая картинка в тексте статьи ставала превью использовал дополнение ContentVampire создал тв если картинку подтянуть в ручную отображает, а со ниппета нет
сниппет
$content = $resource->get('content'); // If the content field isn't empty, proceed with parsing it if (!empty($content)) { $doc = new DOMDocument(); $doc->loadHTML($content); // Parse through image elements $images = $doc->getElementsByTagName("img"); if (!empty($images)) { $output = $images->item(0)->attributes->getNamedItem('src')->nodeValue; } $resource->setTVValue('Image', $output); }
делал за принцыпом етимпринцыпом
спасибо
Mykhajlo Tsymbala
12 июля 2013, 07:18
modx.pro
2 104
0

магазин на MS2: итоги

Попробовал наконец-таки MS2 stroytorgimpex.ru и хочу поделиться впечатлениями…
Прежде всего конечно спасибо Василию за его его бессмертные подвиги в развитии RU Интернета.
Но хочу рассказать каково мне от MS2 по сравнению с платными UMI, webasyst CMS, Magento и prestashop.
Зубков Дмитрий
12 июля 2013, 00:50
modx.pro
1 699
0

[Решено]Дополнительные поля в настройках продукта.

Привет!
Коллеги, подскажите пожалуйста как решить проблему.
В минишопе необходимо добавить дополнительные параметры к продукту.
Воспользовался поиском здесь и нашел ответы что добавлять дополнительные поля можно с помощью ТВ.
Boris Akimenko
11 июля 2013, 14:43
modx.pro
2 543
0

[Решено] Не выполняется процессор

Добрый день.

Который час бьюсь, не могу понять, где я ошибся… Пытаюсь расширить процессор security/user/get

Сниппет, в котором вызывается процессор:
$processorProps = array('processors_path' => $modx->getOption('core_path') . 'components/xpecta/processors/');
$response = $modx->runProcessor('security/user/get', array('id' => 1), $processorProps);

if ($response->isError()) {
    return $response->getMessage();
}
$output = $response->getObject();

print_r($output);


Если путь к процессорам написать неверно, то скрипт обрывается, выдает 500 ошибку и в логе:
Processor /.../core/components/xpecta/processsors/security/user/get.php does not exist;


Если путь верный, то скрипт все равно обрывается, но в логе пусто.
Илья Уткин
11 июля 2013, 09:16
modx.pro
2 222
0

MS2: Странная сортировка в grid где список товаров

У меня есть дополнительные свойства через плагины.
В системной настройке ms2_category_grid_fields:
pagetitle,price,class,unit,sizes,material,thumb,vendor

В гриде (если зайти в категорию — видно список товаров) первые 4 поля сортируются, то есть:
pagetitle,price,class,unit

Если я меняю местами в настройке, то все равно первые 4 сортируются, дальше — нет.
Не зависимо от того выставлено или нет свойство sortable у элемента. То есть даже в false — все равно сортируются первые 4 поля, а дальше нет…

Не подскажете в чем дело? Как сделать все поля сортируемыми, а не только первые 4?

Заранее благодарю.
Peter Zenin
10 июля 2013, 17:41
modx.pro
1 064
0

Ссылка на оплату в письме пользователю.

В последней версии магазина, есть такое изменение:
Евгений
10 июля 2013, 12:15
modx.pro
1
2 325
0

передача aray из одного всплывающего окна в другое

Добрый день, есть такая задачка, написал компонент но нужно что бы я мог заполнить форму в 1-м всплывающем окне нажал сохранить и открылось второе всплывающиго окно которое бы имело переменные с первого окна, и по заполнению второго окна информация с обоих окон отправлялась кнопкой отправить,
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
Mykhajlo Tsymbala
09 июля 2013, 14:15
modx.pro
1 267
0

Опредиление id пользователя

Добрый день, занимаюсь написанием личного кабинета с помощью пакета login создал форму регистрации с группой чек боксов типу extendet в носит значения 0 если пустой и 1 если отмечен, но возник вопрос как обновит значения, не могу определить id пользователя вошедшего в кабинет, подскажите как можно реализовать редактирование дополнительных полей профиля.
код:
снипет скрытых чеков
<?php
$table_prefix = 'zaprosite_';
$pakage='extpakage';
 
$modx->addPackage($pakage, $modx->getOption('core_path').'components/extpakage/model/',$table_prefix);

$result3 = $modx->getCollection('Model');
foreach($result3 as $row3){

echo '<input type="hidden" name="asd[]"  value="'.$row3->get('country_id').'"/>';
 
$result4 = $modx->getCollection('Modele', array(
    'country_id' => $row3->get('country_id')
));
foreach($result4 as $row4){

echo '<input type="hidden" name="asd['.$row4->get('model').']"  value="0" />';

}

}
снипет чеков видных пользователю при регистрации
<?php
$table_prefix = 'zaprosite_';
$pakage='extpakage';
 

$modx->addPackage($pakage, $modx->getOption('core_path').'components/extpakage/model/',$table_prefix);

$result = $modx->getCollection('Model');
foreach($result as $row){

 echo '

<input type="checkbox" name="asd[]" id="'.$row->get('country').'" value="'.$row->get('country_id').'"/>'.$row->get('country').'

';
 
$result1 = $modx->getCollection('Modele', array(
    'country_id' => $row->get('country_id')
));
foreach($result1 as $row1){

echo '<input type="checkbox" name="asd['.$row1->get('model').']" id="'.$row1->get('country').'" value="1"/>'.$row1->get('model');

}

}
сниппет редактирования пользователя (не находит ид)
$userId = intval($_GET["user"]);
if (!$user = $modx->getObject('modUser',$userId)) return 'Пользователь не найден';
if (!$profile = $user->getOne('Profile')) return 'Ошибка получения профиля';
$extended = $profile->get('extended');
$asd= $extended['asd'];
print_r($asd);
Mykhajlo Tsymbala
09 июля 2013, 11:53
modx.pro
8 381
0