Skip to content

Instantly share code, notes, and snippets.

View TrywaR's full-sized avatar

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

View GitHub Profile
@TrywaR
TrywaR / [ MODX | BS | Schma ] BreadCrumbs
Last active February 21, 2019 16:05
[ MODX | BS | Schma ] BreadCrumbs
[[!pdoCrumbs?
&tpl= `@INLINE
<li class="breadcrumb-item" itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
<a title="[[+menutitle]]" itemprop="item" href="[[++site_url]][[+uri]]">
<span itemprop="name">[[+menutitle]]</span>
</a>
<meta itemprop="position" content="[[+idx]]">
</li>`
&tplHome=`@INLINE
<li class="breadcrumb-item" itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
@TrywaR
TrywaR / [ MODX ] micro_mark
Created May 22, 2018 21:18
[ MODX ] micro_mark
<!-- og -->
<meta property="og:title" content="[[*pagetitle]]">
<meta property="og:site_name" content="[[++site_name]]">
<meta property="og:url" content="[[!++site_url]][[!*uri]]">
<meta property="og:description" content="[[*description]]">
<meta property="og:type" content="website">
<meta property="og:image" content="[[++template_path]]img/logo.png">
<!-- og x-->
<!-- schema -->
@TrywaR
TrywaR / [ MODX BS4 ] pdoPage
Last active May 23, 2018 08:40
[ MODX BS4 ] pdoPage
<div id="pdopage">
<div class="rows">
[[!pdoPage?
&parents=`[[*id]]`
&element=`pdoResources`
&limit=`1`
&ajaxMode=`default`
&tpl=`resources`
&tplPageWrapper=`@INLINE
<nav aria-label="Page navigation example">
@TrywaR
TrywaR / core.js[ jQuery ] mini slider
Created May 29, 2018 18:49
[ jQuery ] mini slider
// Микро слайдуля
var
step = 4, // Количество слайдов для показа
time = 4000, // Через какой время менять слайды
portfolio_slider = $('#portfolio_slider ._slider_elems'), //Слайдер
start = 0, //Текущий активный элемент
length = $('#portfolio_slider ._slider_elems > *').length //Количество слайдов
function portfolio_slider_function(){
stop = start+step
@TrywaR
TrywaR / [ jQuery ] Активный пункт меню из url
Created September 29, 2018 18:25
[ jQuery] Активный пункт меню из Url
$('.header__menu a').each(function () {
var location = window.location.href;
var link = this.href;
var result = location.match(link);
if(result != null) {
$(this).addClass('menu__links--active');
}
});
@TrywaR
TrywaR / Default Web.Config for MODX Rev
Created January 28, 2019 23:16
Default Web.Config for MODX Rev
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="Default.htm" />
<add value="Default.asp" />
@TrywaR
TrywaR / MODX Revo > сохранение корзины ShopKeeper3 в БД
Last active February 16, 2019 15:37
Ниже плагин, который позволяет хранить корзину клиента в базе данных и сохранять её при разлогировании. При авторизации он суммирует корзину которая была до авторизации с той что сохранена в аккаунте.
<?
switch($modx->event->name) {
# Добавление или удаление товара, расчёт полной цены
case 'OnSHKbeforeCartLoad': # Перед загрузкой корзины, чтобы отследить изменение количества товара, события далее их не могут уловить (:
case 'OnSHKaddProduct': # Добавление товара
case 'OnSHKAfterRemoveProduct': # Удаление товара
# Если пользователь залогинен
$modx->log('Чего то добавили');
$iId = $modx->user->get('id');
if ($iId > 0) {
@TrywaR
TrywaR / [ MODX | mFilter2 | masonry ]
Created March 30, 2019 20:58
Адаптивная сетка для результатов mFilter2 в modx с помощью masonry
// https://docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2
// https://masonry.desandro.com/methods.html
$('#mse2_results').masonry({
// options
itemSelector: '.item4',
singleMode: false,
percentPosition: true,
horizontalOrder: true
})
@TrywaR
TrywaR / MODX Revo > AjaxForm html validate fix
Created May 1, 2019 23:13
Исправление подключения js для валидатора html, убираем type="text/javascript"
//Исправление подключения js для валидатора html
//Создаём новый плагин "validate_html_fix", подключаем обработчик события OnWebPagePrerender и далее код плагина
<?php
$content = &$modx->resource->_output;
$content = str_replace('type="text/javascript"','', $content);
$modx->Event->output($content);
@TrywaR
TrywaR / VeryLazy img load and webp
Created May 3, 2019 00:12
Ленивая подгрузка картинок в зависимости от того видно ли блок с ними пользователю, можно использовать в связке с https://modernizr.com/download?webp-webpalpha-webpanimation-setclasses чтобы если браузер поддерживает webp картинки подгружались в этом формате
/*_____________________ VeryLazy ______________________*/
function VeryLazy(){
$(document).find('.home ._block').each(function(index, element){
if ($(document).scrollTop() > $(this).offset().top - $(window).height()){
$(this).addClass('active').find('img[data-src]').each(function() {
if ($('html').hasClass('webp') && $(this).data().webp)
$(this).attr('src', $(this).data().webp)
else
$(this).attr('src', $(this).data().src)
})