Skip to content

Instantly share code, notes, and snippets.

@4e6ka
4e6ka / template
Last active February 24, 2025 02:11
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=`{
@vielhuber
vielhuber / index.html
Last active March 12, 2025 00:49
Google reCAPTCHA v3 #html #js #php
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1" />
<title>.</title>
<style>
.grecaptcha-badge {
display: none !important;
visibility: hidden !important;
@ig0r74
ig0r74 / multiple_items.js
Last active June 14, 2021 22:10
Добавление нескольких товаров в корзину MODX miniShop2
$('button#cart_add').click(function(e){ // не забудьте изменить селектор
// Добавляем товары в корзину
var products = [];
$('input[name="price"]:checked').each(function () {
var product = {};
product['id'] = $(this).data('dop');
product['count'] = $(this).parents('.tm-dop').find('input.number-input').val();
products.push(product);
});
// Добавляем услуги в корзину
@Advanc8d
Advanc8d / QuickOrder.php
Created December 14, 2020 19:35 — forked from iksecreeet/QuickOrder.php
Покупка товара в один клик для miniShop2
<?php
$context = $modx->context->get('key');
if ($context == 'mgr' || empty($_POST['quick_order']) || empty($_POST['id']) || empty($_POST['customer'])) {
return;
}
/**
* @var miniShop2 $miniShop2
*/
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($context, array(
@Sentinel-7
Sentinel-7 / settimeout.js
Last active November 19, 2022 12:51
Отложенная загрузка метрики и скриптов
var loadedMetrica = false;
window.addEventListener('scroll', loadMetrica);
window.addEventListener('click', loadMetrica);
window.addEventListener('mousemove', loadMetrica);
function loadMetrica() {
if (!loadedMetrica) {
setTimeout(function() {
/* ТУТ ВАШ КОД И СКРИПТЫ, метрика например*/
},500);
}
@Advanc8d
Advanc8d / info.txt
Created February 10, 2021 11:27 — forked from Adoonq/info.txt
Кастомные поля для комментариев (Tickets Modx)
/* Плагин с событием на OnBeforeCommentSave
https://modx.pro/help/4370
https://bezumkin.ru/sections/522/1540/ */
if ($modx->event->name == 'OnBeforeCommentSave') {
if(!empty($_POST['my_property_prop'])){
$properties = array(
'my_property' => $modx->stripTags($_POST['my_property_prop'])
);
} else {
@Advanc8d
Advanc8d / multiple_items.js
Created February 20, 2021 21:52 — forked from ig0r74/multiple_items.js
Добавление нескольких товаров в корзину MODX miniShop2
$('button#cart_add').click(function(e){ // не забудьте изменить селектор
// Добавляем товары в корзину
var products = [];
$('input[name="price"]:checked').each(function () {
var product = {};
product['id'] = $(this).data('dop');
product['count'] = $(this).parents('.tm-dop').find('input.number-input').val();
products.push(product);
});
// Добавляем услуги в корзину
@andronex
andronex / portobello_config.php
Created April 2, 2021 12:51
Парсер товаров с сайта поставщика portobello.ru для MODX Revolution от 2.6.5-pl + miniShop2 от 2.4.12-pl / можно запускать как из браузера с offset, так из консоли или по cron
<?php
//настройки для коннекта к portobello.ru
$portobelloUrlTree = 'https://portobello.ru/export/new-products.xml'; //весь каталог товаров
$portobelloUrlStock = 'https://portobello.ru/export/new-products-quantity.xml'; //наличие товаров
//настройки для парсинга и установки шаблонов для создаваемых продуктов
$fileProductGroups = dirname(__FILE__).'/portobello_groups.txt';
$fileCatExist = dirname(__FILE__).'/portobello_category_exist.txt';
//настройки для обработки товаров