Skip to content

Instantly share code, notes, and snippets.

@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';
//настройки для обработки товаров
@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);
});
// Добавляем услуги в корзину
@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 {
@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 / 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(
@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);
});
// Добавляем услуги в корзину
@vielhuber
vielhuber / index.html
Last active November 6, 2021 14:47
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;
@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=`{
@bendasvadim
bendasvadim / Вывод количества товаров в категории.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);
@svgerasimov
svgerasimov / php
Last active April 12, 2021 05:37
Отправка писем на почту из формы PHPMailer + AJAX
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if($_POST){
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/POP3.php';
require 'PHPMailer/src/SMTP.php';
require 'PHPMailer/src/Exception.php';