Skip to content

Instantly share code, notes, and snippets.

View TrywaR's full-sized avatar

Сергей Ильин TrywaR

View GitHub Profile
@TrywaR
TrywaR / validate.php
Last active October 15, 2019 02:01
MODX Revo | AjaxForm | Telegram | antiSpam > Прокачка антиспама до отправки уведомлений через чат бот в канал телеграмма
<?php
function text_error(){
return false;
die();
}
if(isset($_POST['org'])){
if($hook->getValue('org')!=''){
$modx->log(xPDO::LOG_LEVEL_ERROR, 'Ошибка заполнения формы: не пустое поле антиспама');
$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($_POST, 1));
text_error();
@TrywaR
TrywaR / ms2OptionMigrate.php
Last active October 10, 2019 23:15
MODX Revo | MiniShop2 > Перенос значений из одной опции в другую
<?php
// Перенос значений из одной опции в другую 0_о
// Параметры
$option_from = 'option_from_name'; # Из опции
$option_to = 'option_to_name'; # В опцию
// изсключаем из выборки значения опций которые не трогать
$sQuery = "SELECT product_id FROM `". $modx->getOption('table_prefix') ."ms2_product_options` WHERE `key` = '" . $option_to . "'";
$strProdNoId = ''; # Исключаем из выборки
@TrywaR
TrywaR / README.md
Last active January 4, 2021 20:55
MODX Revo | MiniShop2 > Вывод активных опций категории

MODX Revo | MiniShop2 > Вывод активных опций категории

Всё просто, сниппет выводит всё что нужно, имеет параметры

Параметр Описание Значение по умолчанию
$categoryId id категории Вывод из всех
$tpl шаблон для вывода tpl.msCategoryOptions.row
$active Выводить только активные Да(1)

Туповой вызов

@TrywaR
TrywaR / MODX Revo | MiniShop2 > Объединение нескольких опций в одно
Last active September 6, 2019 22:58
Такая хрень бывает, когда опций много, они создаются автоматически при парсинге, по этому бывают дубли, вот эти дубли и объединяем...
# Вытаскивание из базы
SELECT * FROM `modx_ms2_product_options` WHERE `key` = 'need_key'
# Поиск дублирующихся значений, мб разные и нужно что то с ними делать >.<
SELECT * FROM `modx_ms2_product_options` WHERE (`value` != '' AND `key` = 'key_from') AND (`value` != '' AND `key` = 'key_to')
@TrywaR
TrywaR / main.js
Created September 1, 2019 22:05
MODX Revo | PdoPage | Masonry > Адаптивная сетка элементов
// Весь js и masonry из CDN
// <script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
$(function(){
// Адаптивная сетка товаров
// $('.block_products').masonry()
var $container = $(".rows")
$container.masonry()
// Адаптивная сетка товаров х
})
@TrywaR
TrywaR / form.tpl
Last active August 31, 2019 20:30
MODX Revo | PhoneGap > Отправка сообщения на сервер | Отправка сообщения из приложения сделанного на PhoneGap или Cordova на сайт с MODX Revo
[[-Вывод и работа формы при помощи плагина formit в Modx Revo, где form_app_tpl чанк с самой формой]]
[[!FormIt?
&emailTpl=`form_app_tpl`
&formName=`Форма из приложения`
&hooks=`FormItSaveForm, email`
&emailSubject=`[[++site_name]]: Форма из приложения`
&emailTo=`[email protected]`
&emailFrom=`[email protected]`
&frontend_css=``
]]
@TrywaR
TrywaR / MODX Revo | Tagger > 404 для страниц без результатов, убрать дубли
Last active August 27, 2019 11:52
MODX Revo | Tagger > 404 для страниц без результатов, убрать дубли
<?php
# Должно быть включено системное событие OnWebPageInit
// $modx->log(modX::LOG_LEVEL_ERROR, print_r($_GET,1));
if (isset($_GET['teg'])){
$return = false;
$arrTags = explode(',', $_GET['teg']);
if (count($arrTags) > 1){
# Если больше 1 тега то возвращяем 404
$return = true;
@TrywaR
TrywaR / Вывод количества товаров в категории.php Вывод количества товаров в категории 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);
@TrywaR
TrywaR / main.js
Last active February 14, 2020 15:10
MODX Revo > Обработка картинок в контенте
/*_____________________ VeryLazy ______________________*/
// - Подгрузка изображений в блоках при их показе на экране
block_selector = '.home ._block'; // Селектор блоков
function VeryLazy(){
if ($('html').hasClass('webp')) {
$(document).find(block_selector).each(function(index, element){
if ($(document).scrollTop() > $(this).offset().top - $(window).height()){
$(this).addClass('active').find('img[data-src],img[data-webp]').each(function() {
if ($(this).data().webp)
@TrywaR
TrywaR / README.md
Last active July 7, 2019 22:07
MODX Revo > RSS для турбо-страниц хуяндекса

MODX Revo > RSS для турбо-страниц хуяндекса

  1. Создаём страницу, тип содержимого XML, шаблон пустой, содержимое в файле содержимое страницы.xml где заменяем tv поля для картинки под нужное, и заменяем id 3 на те ресурсы которые нужно выводить
  2. Создаём сниппет htmlspecialchars с содержимым htmlspecialchars.php для экранизации тегов и замены путей картинок на полные, нужно в сниппете указать путо до картинок
  3. Создаём чанк rss.item для вывода результатов, содержимое для него в файле rss.item.tpl где заменяем если нужно tv поля для вывода картинок
  • Данный способ выводить RSS не только для хуяндекса, а куда угодно