Skip to content

Instantly share code, notes, and snippets.

@webinmd
webinmd / changePriceAddToCart.php
Created January 24, 2025 12:45 — forked from andronex/changePriceAddToCart.php
Изменение цены в зависимости от выбранных опций товара (miniShop2 + MODX Revolution).
<?php
switch ($modx->event->name){
case 'msOnBeforeAddToCart':
if (!is_array($options)) $options = json_decode($options, true);
//$modx->log(modX::LOG_LEVEL_ERROR, print_r($cart->get(), true));
//$modx->log(modX::LOG_LEVEL_ERROR, print_r($product->toArray(), true));
if(isset($options['size-price']) && !empty($options['size-price'])){
$tvr = $modx->getObject('modTemplateVarResource', array(
@webinmd
webinmd / localizator-tvfields.php
Last active January 21, 2020 16:57
Получение значений ТВ поля из всех локализаций
<?php
// $id - numeric resource id
// $tvname - name of tv field
// $tpl - template: {$value}
/*
// usage
{'getTvFields'|snippet:[
'id' => 1,
@webinmd
webinmd / Native.js
Created September 6, 2019 15:14 — forked from alexreardon/Native.js
Some vanilla JS methods and patterns
// Native selectors.
(function(window, document) {
'use strict';
var noop = function() {
};
// DOCUMENT LOAD EVENTS
// not needed at the bottom of the page
document.addEventListener('DOMContentLoaded', noop);
@webinmd
webinmd / xml_to_minishop2.php
Created June 21, 2019 09:59 — forked from iksecreeet/xml_to_minishop2.php
Очередной импортёр товаров из XML файла в интернет-магазин на MODX Revolution v.2.4.4-pl + miniShop2 v.2.2.0-pl2
<?php
$tplProduct = 3; //номер шаблона для карточки товара
$tplParent = 2; //номер шаблона для категорий
$tplChildParent = 2; //номер шаблона для подкатегорий
$idParent = 6; //id каталога товаров
$fileProduct = 'product.xml'; //имя файла с товарами
$xpath_expression['pagetitle'] = '//Товары/Номенклатура'; //DOM структура в XML файле до имени
$xpath_expression['article'] = '//Товары/Артикул'; //DOM структура в XML файле до артикула
$xpath_expression['parents'] = '//Товары/Родитель'; //DOM структура в XML файле до родителей
@webinmd
webinmd / adminka.php
Created June 17, 2019 13:34 — forked from andronex/adminka.php
msMiniDiscount - организация скидок в miniShop2 (для MODX) по одноразовым купонам.
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormPrerender':
$modx->controller->addHtml('<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>');
break;
}
return;
@webinmd
webinmd / modx.set.php
Created May 22, 2019 17:42
Создает настройки, чанки и поля после установки modx
<?php
require_once dirname(__FILE__).'/config.core.php';
include_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx= new modX();
$modx->initialize('mgr');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
header("Content-type: text/plain");
@webinmd
webinmd / QuickOrder.php
Created March 7, 2019 16:33 — 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(
@webinmd
webinmd / introRTE
Created February 14, 2019 10:26 — forked from christianseel/introRTE
RTE for introtext #modx
<?php
// Add RTE for introtext if richtext option is enabled for the resource
// check "OnDocFormRender" event
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
@webinmd
webinmd / ms_modifiPrice.php
Created February 3, 2019 11:53 — forked from Burick/ms_modifiPrice.php
пересчет цены для минишопа в зависимости от курса из системной настройки current_rate
<?php
/*
пересчет цены в зависимости откурса
из системной настройки current_rate
плагин на событие минишопа msOnGetProductPrice
*/
switch ($modx->event->name) {
case 'msOnGetProductPrice':
$values = & $modx->event->returnedValues;
@webinmd
webinmd / minishop2.oneclick.php
Created December 14, 2018 17:05 — forked from iksecreeet/minishop2.oneclick.php
Сниппет для отправки заказа в 1 клик для Minishop2
<?php
$errors = [];
$id = $_POST['id'];
$phone = $_POST['phone'];
$receiver = uniqid('user_');
$email = uniqid('user_') . '@bikes.ru';
if ( empty( trim( $_POST['phone'] ) ) ) {
$errors['phone'] = 'Вы не заполнили телефон';