Skip to content

Instantly share code, notes, and snippets.

@Sentinel-7
Sentinel-7 / catalog.tpl
Last active August 19, 2021 09:44
достаем картинки для товаров, когда нужно вывести пару картинок для одной карточке в списке
{'!msProducts' | snippet : [
'parents'=>$_modx->resource.id,
'leftJoin' => '{ "images": { "class":"msProductFile","alias":"images", "on": "images.product_id = msProduct.id AND images.path LIKE \'%/small/\'" }}',
'select' => '{ "images":"GROUP_CONCAT(images.url SEPARATOR \';;\') as images"}',
'limit'=>0,
'sortby'=>'menuindex',
'sortdir'=>'ASC',
'showLog'=>0,
'tpl'=>'@FILE chunks/item/product.tpl'
]}
@Sentinel-7
Sentinel-7 / card.tpl
Created August 10, 2021 07:48
Click a + input radio checked
<script>
$(document).ready(function() {
miniShop2.Callbacks.add('Order.getcost.response.success', 'Order_submit_response_success', function(responce) {
var cost = responce.data['cost'],
min_price = {'price_config' | config};
if (cost < min_price) {
miniShop2.Callbacks.add('Order.submit.before', 'Order_submit_before', function() {
miniShop2.Message.error('Недостаточная сумма заказа, заказ отправляется от ' + min_price + ' {'ms2_frontend_currency' | lexicon}!');
$('#error_message').text('Недостаточная сумма заказа, заказ отправляется от ' + min_price + ' {'ms2_frontend_currency' | lexicon}!');
return false;
@Sentinel-7
Sentinel-7 / catalog.tpl
Last active August 6, 2021 07:31
Считаем кол-во выведенных товаров на странице - mFilter2
<div class="mt-textbox">
<p>Showing
<strong id="START">{$_modx->getPlaceholder('mse2_start_page')}</strong> –
<strong id="END">{$_modx->getPlaceholder('mf_limit')}</strong> of
<strong>{$_modx->getPlaceholder('mf_total')}</strong> results</p>
</div>
<script>
$(document).on('mse2_load', function(e, data) {
let page = data.data.page;
@Sentinel-7
Sentinel-7 / getip.php
Created June 24, 2021 08:13
getIp определяем ip пользователя
/*
<input type="hidden" name="{$formID}_ip" value="{'!getIP' | snippet}" />
*/
<?php
if (!function_exists('getIp')) {
function getIp() {
$keys = [
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'REMOTE_ADDR'
{var $key = $table ~ $delimeter ~ $filter}
<input type="hidden" name="{$filter}[]" value="" />
<label for="mse2_{$key}_{$idx}" class="checkbox-label {$disabled}">
<input type="checkbox" name="{$filter}[]" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}
{('fi.' ~ $filter) | placeholder | FormItIsChecked : $value}>
<span class="checkmark"></span>
{$title}
</label>{*$num*}
@Sentinel-7
Sentinel-7 / main.tpl
Created June 1, 2021 17:09
Получаем вчерашнюю дату fenom
{set $time = '' | date_format : "%s" - (24*60*60)}
{$time | date_format : "%b %d, %Y"}
или сниппет
<?php
$yesterday = date('F j, Y', time()-86400);
return $yesterday;
@Sentinel-7
Sentinel-7 / main.tpl
Created May 27, 2021 13:02
youtube-background
{set $main = $_modx->resource.main | fromJSON}
<div data-youtube="{$main[0]['url']}"></div>
<script src="/assets/js/youtube-background.js"></script>
<script>
jQuery(document).ready(function() {
jQuery('[data-youtube]').youtube_background();
});
</script>
@Sentinel-7
Sentinel-7 / file.php
Created May 18, 2021 06:48
Пересохранить все товары в console
<?php
$resources = $modx->getCollection('modResource', [
'class_key' => 'msProduct'
]);
foreach ($resources as $res) {
$res->save();
}
@Sentinel-7
Sentinel-7 / catalog.tpl
Created May 15, 2021 16:26
Выборка для mFilter2 если нужно сделать фильтрацию для ресурсов по url
Список ресурсов сделан списком и выведен через процессор в msFieldsManager для свойств товара
'optionFilters' => '{ "collection:!=":"" }',
'where' => ['collection.value' => $_modx->resource.pagetitle],
@Sentinel-7
Sentinel-7 / main.tpl
Last active May 15, 2021 16:15
tagger выводим товары привязанные к alias тегам
{set $par = $_modx->resource.parent | url}
{set $getTag = $_modx->resource.id | url | replace : $par : ''}
{set $parents = $_modx->resource.parent}
{*Находим шаблон родителя*}
{set $parentTemplate = $parents | resource: 'template'}
{*Если это тег, значит поднимаемся выше для получения родителя*}
{if $parentTemplate == 27}
{set $parents = $parents | resource: 'parent'}