Skip to content

Instantly share code, notes, and snippets.

View 4e6ka's full-sized avatar

Denis K 4e6ka

View GitHub Profile
@4e6ka
4e6ka / gist:c59a39dfa2e4dd586e3b218d1dfedc98
Created October 10, 2024 05:53
Сниппет для кеширования чанка, для старого парсера modx revo
snippet cache_chunk
<?php
$cache_key = "chunk_".$name;
$output = $modx->cacheManager->get($cache_key);
if (empty($output)) {
$output = $modx->getChunk($name, $scriptProperties);
$modx->cacheManager->set($cache_key,$output);
@4e6ka
4e6ka / gist:f0f5f95ab98b4268b7082cfdf5713a96
Created May 22, 2024 16:41
Валидация полей форм
name:required:regexp=^/[^А-я]/^
phone:required:minLength=^7^
mess:antispam
g-recaptcha-response:required`
@4e6ka
4e6ka / YML_offer_turbo.xml
Last active March 12, 2024 11:26
YML for Yandex ADS
<offer id="[[+idx]]" available="true">
<name>[[+pagetitle]] [[+article]]</name>
<url>https://station-centre.ru/[[~[[+id]]]]</url>
<price from="true">[[!+price:replace=` ==`]]</price>
<vendor>vendor</vendor>
[[+old_price:gt=`[[+price:replace=` ==`]]`:then=`<oldprice>[[+old_price:replace=` ==`]]</oldprice>`:else=``]]
<currencyId>RUR</currencyId>
<available>true</available>
<sales_notes>delivery, other pros etc.</sales_notes>
<categoryId>[[+parent]]</categoryId>
@4e6ka
4e6ka / open graph for articles.html
Last active March 12, 2024 10:39
open graph for articles
<meta property="og:locale" content="ru_RU" />
<meta property="og:type" content="article">
<meta property="og:site_name" content="[[++site_url]]">
<meta property="og:title" content="[[*seotitle]]">
<meta property="article:section" content="[[#[[*parent]].longtitle]]">
<meta property="article:modified_time" content="[[*publishedon]]">
<meta property="og:url" content="[[*id:is=`1`:then=`https://giftforanyone.ru/`:else=`[[++site_url]][[*uri]]`]]">
<meta property="article:author" content="[[#[[*author]].pagetitle]]">
<meta property="og:description" content="[[*description:default=`[[If? &subject=`[[*description]]` &operator=`empty` &then=`[[*pagetitle]]` &else=`[[*longtitle]]`]]`]] extra content.">
<meta property="og:image" content="[[++site_url]][[*picture]]">
@4e6ka
4e6ka / modx revo meta seo.php
Last active March 12, 2024 10:05
modx revo meta seo
<meta charset="utf-8">
<title>[[*seotitle:default=`[[*pagetitle]]`]] - [[++site_name]]</title>
<meta name="description" content="[[*introtext:default=`[[*pagetitle]]. Официальный дилер. Гарантия.`]]">
<base href="[[!siteurl]]" />
<link rel="canonical" href="[[!siteurl]][[*url]]"/>
@4e6ka
4e6ka / antispam Formit.py
Last active March 12, 2024 10:07
Антиспам для Formit, фильтрует ссылки, емейлы
<?php
/*Сниппет, проверяющий содержание формы на признаки спама*/
//Определяем значения служебных переменных по умолчанию
$success=true;
$haserror=false;
//Массив запрещенных фрагментов строк
//Если в каком либо поле формы встретится один из ниже перечисленных фрагментов, то далее обрабатывать сообщение не будем
$forb=array(
'@',
'http',
@4e6ka
4e6ka / template
Last active March 12, 2024 09:44
Fenom и изображения в каталоге и на карточке
В шаблоне категории вызываю список товаров так:
[[!pdoPage?
&element=`msProducts`
&loadModels=`gallery`
&leftJoin=`{
"360x270": {"class":"msProductFile","alias":"360x270", "on": "360x270.product_id = msProduct.id AND 360x270.path LIKE '%/360x270/' AND 360x270.rank=0"}
,"360x270x1": {"class":"msProductFile","alias":"360x270x1", "on": "360x270x1.product_id = msProduct.id AND 360x270x1.path LIKE '%/360x270/' AND 360x270x1.rank=1"}
}`
&select=`{
@4e6ka
4e6ka / gist:2fea0b8120b897fee21ba4b9ea6e4e9c
Created July 29, 2018 20:39
Цель в метрике, если используется AjaxForm + Formit
На onsubmit ставить нет смысла.
Делаем так
[[!AjaxForm?
&snippet=`FormIt`
&hooks=`recaptchav2,email,spam,FormItSaveForm`
&form=`tpl.AjaxForm`
&submitVar=`callback`
&emailTpl=`MyEmailChunk`
&emailTo=`info@topmaster-service.ru`
&emailSubject=`Обратный звонок с сайта`
@4e6ka
4e6ka / gist:6f9d7d656bac1342ae1de605d8bbb46d
Last active July 21, 2018 20:10
YML выгрузка для "товары и цены", делаем хорошие сниппеты у Яндекса
Создаём документ xml
Содержание:
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="[[!time2]]" >
<shop>
<name>Название магазина</name>
<company>Название компании</company>
<url>https://site.ru</url>
<currencies>
<currency id="RUR" rate="1"/>
@4e6ka
4e6ka / gist:6877c3fa918c9ccd40dd1f64fe94cc6b
Created May 1, 2018 19:03
SEO-теги для разных типов страниц
Универсально
TITLE
<title>[[*seotitle:default=`[[If? &subject=`[[*longtitle]]` &operator=`empty` &then=`[[*pagetitle]]` &else=`[[*longtitle]]`]]`]] - [[++site_name]]</title>
DESCRIPTION
<meta name="Description" content="[[!If? &subject=`[[*description]]` &operator=`!empty` &then=`[[*description]]` &else=`[[*pagetitle]] в Москве. [[!If? &subject=`[[+price]]` &operator=`isnotempty` &then=`Стоимость: [[!parse_kurs? &price=`[[+price]]` &currency_tip=`[[+tip_currency:default=`[[+currency_tip]]`]]`]] р.` &else=`Низкая стоимость!`]] Быстрая доставка, скидки и спец предложения, сертификаты! Собственная сервисная служба.` ]]">
С компонентом SEO Filter
<title>[[!+sf.title:default=`[[*seotitle:default=`[[!If? &subject=`[[*longtitle]]` &operator=`!empty` &then=`[[*longtitle]]` &else=`[[*pagetitle]] купить в Москве, лучшая цена! Выбрать [[!strtolower? &string=`[[*pagetitle]]`]] в каталоге с фото. Продажа от Компания Нейм`]]`]] - [[++site_name]]`]]</title>
<meta name="Description" content="[[!+sf.description:default=`[[*