Вывод количества документов
Василий, приветствую.
Хочу вывести количество товара в каждой категории. Для этого использую такой сниппет:
Все отлично работает, но в MS2 есть возможность добавлять один товар в несколько категорий, а этот сниппет считает только те товары, которые «физически» присутствуют в категории.
Подскажи, пожалуйста, как вывести количество всех товаров? Может есть какое готовое решение?
Спасибо.
Хочу вывести количество товара в каждой категории. Для этого использую такой сниппет:
$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 есть возможность добавлять один товар в несколько категорий, а этот сниппет считает только те товары, которые «физически» присутствуют в категории.
Подскажи, пожалуйста, как вывести количество всех товаров? Может есть какое готовое решение?
Спасибо.
Некорректная кодировка в компоненте polls
Всем привет! Хочу сделать голосование на сайте, установил компонент Polls с репозитория. Но похоже что проблема с кодировкой. Отображается все вопросиками. Просмотрел все файлы компонента, не нашел указания какой либо кодировки. Может кто решал такую проблему? гугл не помог, целый день искал что нить с подобной проблемой.
PS остальные компоненты и админка работает отлично. Проблем с кодировкой не наблюдал.
PS остальные компоненты и админка работает отлично. Проблем с кодировкой не наблюдал.
вивод первого изображения с контента статьи
добрый день делаю вывод статей с помощью артикла нужно чтобы первая картинка в тексте статьи ставала превью использовал дополнение 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); }
делал за принцыпом етимпринцыпомспасибо
магазин на MS2: итоги
Попробовал наконец-таки MS2 stroytorgimpex.ru и хочу поделиться впечатлениями…
Прежде всего конечно спасибо Василию за его его бессмертные подвиги в развитии RU Интернета.
Но хочу рассказать каково мне от MS2 по сравнению с платными UMI, webasyst CMS, Magento и prestashop.
Прежде всего конечно спасибо Василию за его его бессмертные подвиги в развитии RU Интернета.
Но хочу рассказать каково мне от MS2 по сравнению с платными UMI, webasyst CMS, Magento и prestashop.
[Решено]Дополнительные поля в настройках продукта.
Привет!
Коллеги, подскажите пожалуйста как решить проблему.
В минишопе необходимо добавить дополнительные параметры к продукту.
Воспользовался поиском здесь и нашел ответы что добавлять дополнительные поля можно с помощью ТВ.
Коллеги, подскажите пожалуйста как решить проблему.
В минишопе необходимо добавить дополнительные параметры к продукту.
Воспользовался поиском здесь и нашел ответы что добавлять дополнительные поля можно с помощью ТВ.
[Решено] Не выполняется процессор
Добрый день.
Который час бьюсь, не могу понять, где я ошибся… Пытаюсь расширить процессор security/user/get
Сниппет, в котором вызывается процессор:
Если путь к процессорам написать неверно, то скрипт обрывается, выдает 500 ошибку и в логе:
Если путь верный, то скрипт все равно обрывается, но в логе пусто.
Который час бьюсь, не могу понять, где я ошибся… Пытаюсь расширить процессор 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;
Если путь верный, то скрипт все равно обрывается, но в логе пусто.
MS2: Странная сортировка в grid где список товаров
У меня есть дополнительные свойства через плагины.
В системной настройке ms2_category_grid_fields:
pagetitle,price,class,unit,sizes,material,thumb,vendor
В гриде (если зайти в категорию — видно список товаров) первые 4 поля сортируются, то есть:
pagetitle,price,class,unit
Если я меняю местами в настройке, то все равно первые 4 сортируются, дальше — нет.
Не зависимо от того выставлено или нет свойство sortable у элемента. То есть даже в false — все равно сортируются первые 4 поля, а дальше нет…
Не подскажете в чем дело? Как сделать все поля сортируемыми, а не только первые 4?
Заранее благодарю.
В системной настройке ms2_category_grid_fields:
pagetitle,price,class,unit,sizes,material,thumb,vendor
В гриде (если зайти в категорию — видно список товаров) первые 4 поля сортируются, то есть:
pagetitle,price,class,unit
Если я меняю местами в настройке, то все равно первые 4 сортируются, дальше — нет.
Не зависимо от того выставлено или нет свойство sortable у элемента. То есть даже в false — все равно сортируются первые 4 поля, а дальше нет…
Не подскажете в чем дело? Как сделать все поля сортируемыми, а не только первые 4?
Заранее благодарю.
Ссылка на оплату в письме пользователю.
В последней версии магазина, есть такое изменение:
передача aray из одного всплывающего окна в другое
Добрый день, есть такая задачка, написал компонент но нужно что бы я мог заполнить форму в 1-м всплывающем окне нажал сохранить и открылось второе всплывающиго окно которое бы имело переменные с первого окна, и по заполнению второго окна информация с обоих окон отправлялась кнопкой отправить,
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
каждое окно описанное в отдельном js файле, которые подтягиваются в общий php файл
сейчас не передаются значения с первого окна во второе.
Опредиление 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);