Skip to content

Instantly share code, notes, and snippets.

@OlegShchavelev
OlegShchavelev / category.php
Created November 16, 2019 11:29
Вывод мультикатегорий в MS2
$id = $modx->resource->id;
$tpl = '@INLINE <a href="[[~[[+id]]]]">[[+pagetitle]]</a>';
$pdo = $modx->getService('pdoFetch');
$options = array(
'innerJoin' => array(
'msCategory' => array('on' => 'msCategoryMember.category_id = msCategory.id')
),
@OlegShchavelev
OlegShchavelev / class_key
Last active November 28, 2019 09:20
Консольные скрипты для редактирования
$resources = $modx->getCollection('modResource',array('parent' => 22));
foreach ($resources as $res) {
$res->set('class_key', msProduct);
$res->save();
}
@OlegShchavelev
OlegShchavelev / index.tpl
Last active December 2, 2019 13:15
Выводим дату на Modx с русским названием месяца
{$publishedon | date : "d M Y" | rus_months}
@OlegShchavelev
OlegShchavelev / index.tpl
Created December 2, 2019 15:15
where выборка TV по датам pdoResources
{set $today_date = '' | date : 'Y-m-d'}
{'!pdoResources' | snippet : [
'parents' => 40437,
'tplWrapper' => 'wrapper.article.sale',
'tpl' => 'row.article.sale',
'includeTVs' => 'img_article,date_start,date_finish',
'tvPrefix' => ''
'where' => [
'date_finish:>' => $today_date,
@OlegShchavelev
OlegShchavelev / msVendorHeader
Created December 24, 2019 03:28
Работаем с SeoFilter2
<?php
$pdo = $modx->getService('pdoFetch');
$modx->addPackage('seofilter', $modx->getOption('core_path') . 'components/seofilter/model/');
$id = $modx->resource->id;
$seo_id = $modx->getPlaceholder('sf.seo_id');
$tpl = '@INLINE <div class="filter_item filter_logo_item">
<p><img src="{$logo}" alt="" /><span>{$name}</span></p>
</div>';
@OlegShchavelev
OlegShchavelev / prepareData
Created January 15, 2020 18:28
Распечатать все данные prepareSnippet
echo '<pre>';print_r($row);die;
{'!MinifyX' | snippet : [
'minifyCss' => 1,
'minifyJs' => 1,
'registerCss' => 'placeholder',
'registerJs' => 'placeholder',
'cssSources' => 'assets/components/dsmcapp/css/pixel.css',
'jsSources' => '
assets/components/dsmcapp/js/jquery/dist/jquery.min.js,
assets/components/dsmcapp/js/popper.js/dist/umd/popper.min.js,
assets/components/dsmcapp/js/bootstrap/dist/js/bootstrap.min.js,
@OlegShchavelev
OlegShchavelev / modx.texteditor.js
Created February 20, 2020 23:18
Моя не удачная попытка с рендерингом modx.texteditor.js - файл отвечающий за рендеринг JS и tvace.tpl - мой шаблон кастомного типа ТВ с текстовой областью и редактором ACE
Ext.ux.Ace = Ext.extend(Ext.form.TextField, {
growMin : 60,
growMax: 1000,
mode : 'text',
theme : 'textmate',
@OlegShchavelev
OlegShchavelev / msProductShowCase.php
Last active May 3, 2020 23:15
Кнопка для TinyMCE
tinymce.PluginManager.add('showcase', function (editor, url) {
// Add a button that opens a window
editor.addButton('showcase', {
text: 'Вставить витрину товаров',
icon: false,
onclick: function () {
// Open window
editor.windowManager.open({
title: 'Параметры витрины товаров',
minWidth: 500,
@OlegShchavelev
OlegShchavelev / get_array_megre.php
Last active May 6, 2020 21:27
Получаем опции и тв и работает над выводом.
<?php
$tv_prod_coffee_ids = (explode(',' , $modx->resource->getTVValue('prod_coffee_ids')));
$tv_prod_coffee_sprecial = (explode(',' , $modx->resource->getTVValue('prod_coffee_sprecial')));
$option_coffee_total = explode(',' , $modx->getOption('coffee_total'));
$output = $tv_prod_coffee_sprecial
? $tv_prod_coffee_sprecial
: array_filter(array_unique(array_merge($tv_prod_coffee_ids,$option_coffee_total)));
return (implode(',' , $output));