Skip to content

Instantly share code, notes, and snippets.

View antk25's full-sized avatar

Anton Kunaev antk25

  • Resolventa
  • Earth
View GitHub Profile
@antk25
antk25 / Вывод производителей товаров MS2.php
Created September 5, 2016 14:14
Вывод производителей товаров MS2 Сниппет получает всех производителей, у которых есть хоть один активный товар и выводит в виде селектбокса.
<?php
$q = $modx->newQuery('msVendor');
$q->innerJoin('msProductData', 'msProductData', '`msProductData`.`vendor` = `msVendor`.`id`');
$q->innerJoin('msProduct', 'msProduct', array(
'`msProductData`.`id` = `msProduct`.`id`',
'msProduct.deleted' => 0,
'msProduct.published' => 1
));
$q->groupby('msVendor.id');
$q->sortby('name','ASC');
@antk25
antk25 / Вывод количества товаров в категории.php
Created September 5, 2016 14:15
Вывод количества товаров в категории minishop2 Сниппет получает сумму всех товаров в категории, с учетом мультикатегорий MS2. Можно указать нужную категорию параметром $parent.
<?php
if (empty($parent)) {$parent = $modx->resource->id;}
$pids = array_merge(array($parent), $modx->getChildIds($parent));
$ids = array();
$q = $modx->newQuery('msProduct');
$q->where(array('class_key' => 'msProduct','parent:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
@antk25
antk25 / Вывод пустых и не пустых tv параметров.txt
Created September 5, 2016 15:02
Вывод пустых и не пустых tv параметров
[[+tv.formSize:notempty=`<li>[[+tv.formSize]]</li>`]]
@antk25
antk25 / Вывод последних сообщений easycomm
Created September 5, 2016 15:03
Вывод последних сообщений easycomm
[[!ecMessages?
&threads=`*`
&limit=`1`
&sortby=`date`
&sortdir=`DESC`
]]
@antk25
antk25 / Дерево ресурсов.php
Created September 5, 2016 15:06
Сниппет, который строит дерево ресурсов глубиной в 2 уровня, от указанного родителя.
<?php
$parent = 3;
$exclude_parents = array(100500,123456);
$template = 4;
$ids = $modx->getChildIds($parent));
$q = $modx->newQuery('modResource', array('parent:IN' => $ids, 'OR:id:IN' => $ids));
$q->andCondition(array('id:NOT IN' => $exclude_parents, 'template' => $template));
$q->select('id,pagetitle,parent');
$resources = array();
@antk25
antk25 / Вывод ссылок на дополнительные категории товара.php
Created September 5, 2016 15:10
Выборка дополнительных категорий и вывод ссылок на них.
<?php
if (empty($id)) {$id = $modx->resource->id;}if (empty($tpl)) {$tpl = '@INLINE <a href="[[~[[+id]]]]">[[+pagetitle]]</a>';}
$pdo = $modx->getService('pdoFetch');
$conditions = array('product_id' => $id);
$options = array(
'innerJoin' => array(
'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
),
'select' => array('msCategory' => 'all'),
@antk25
antk25 / Выводим количество комментариев Tickets.php
Created September 5, 2016 15:14
1. Чтобы вывести количество комментариев в компоненте Tickets для MODx Revo необходимо написать сниппет, так как из коробки данного сниппета нет. Создадим сниппет TicketCommentsCount со следующим кодом: 2. Далее нам достаточно вызвать сниппет с параметром 'id', в котором указывается ресурс, у которого нужно узнать количество комментариев. Пример…
<?php
if ($thread = $modx->getObject('TicketThread', array('resource' => $id))) {
echo $thread->get('comments');
}
[[*prib:subtract=`[[*netto]]`]]
@antk25
antk25 / addplace.sh
Last active September 15, 2018 19:31
[Добавление сайта на сервер] #server
#!/bin/bash
# MySQL root password
ROOTPASS='password'
TIMEZONE='Europe/Moscow'
MYSQLPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
SFTPPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
PASSWORD=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
##############
@antk25
antk25 / addsite.sh
Last active April 22, 2020 12:47
[Добавление сайта на modx на сервере] #server #modx
#!/bin/bash
# MySQL root password
ROOTPASS='password'
TIMEZONE='Europe/Moscow'
MYSQLPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
SFTPPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
PASSWORD=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
##############