Skip to content

Instantly share code, notes, and snippets.

View andronex's full-sized avatar

Andrey andronex

View GitHub Profile
Hello, World! (^_^)
@andronex
andronex / required_meta
Last active August 29, 2015 14:16
Плагин для MODX Revo. Проверяет обязательность заполнения META полей для публикуемых ресурсов + плагин для типографирования сохраняемого контента ресурсов. Работает через API typograf.ru
<?php
/**
* Повешать плагин на событие OnBeforeDocFormSave
* Название любое
* meta description в поле description
* meta keywords в поле introtext
*/
$eventName = $modx->event->name;
switch($eventName) {
case 'OnBeforeDocFormSave':
@andronex
andronex / yandex-pinger
Last active August 29, 2015 14:16
Плагин для пинга ПС Яндекс при публикации/редактировании ресурса.
<?php
/*
Plugin Name: Яндекс.ПДС Пингер
Plugin URI: http://site.yandex.ru/cms-plugins/
Description: Плагин оповещает сервис Яндекс.Поиск для сайта о новых и измененных документах.
Version: 1.5
Author: ООО "ЯНДЕКС"
Author URI: http://www.yandex.ru/
License: GPL2
*/
@andronex
andronex / addBlocksContent
Last active August 29, 2015 14:17
Плагин для поиска по тексту ресурса ключевых слов для дальнейшего присвоения номеров релевантных тексту блоков с контентом. Ключевые слова содержаться в системной настройке my_search_words Для работы нужна либо отдельная библиотека phpMorphy или msearch2 с ней.
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormSave':
$templNum = 3;//номер шаблона ресурса для обработки (остальные ресурсы при сохранении обработаны не будут)
$tvNum = 'tv2';//номер TV поля с номерами блоков для вывода @var type string
$tvNumInt = 2;//номер TV поля с номерами блоков для вывода @var type integer
if (($mode == 'new') && (($resource->get('template')) == $templNum) && (!$resource->get($tvNum)) && ($string = $resource->content)) {
$search = $modx->getOption('my_search_words');//получаем содержимое системной настройки my_search_words
$lang = 'ru_RU';//язык словаря
@andronex
andronex / open_graph
Last active August 29, 2015 14:17
Плагин для вывода части микроразметки типа OpenGraph. Выводит в HTML код мета поле с корректным URL картнки.
<?php
/**
* Плагин для вывода части микроразметки типа OpenGraph
* Выводит в HTML код мета поле с корректным URL картнки.
* Принцип работы: если в content текущего ресурса находит хоть одну картинку,
* то автоматически выводит её в meta property="og:image"
* Если картинки не найдены в тексте, то прицепляет к ресурсу любую жёстко
* заданную картинку. Нужен для корректного вывода поста в соц.сетях - с нужной картинкой.
*/
$eventName = $modx->event->name;
@andronex
andronex / activeItemMenu
Created April 11, 2015 21:00
Сниппет для отображения активных пунктов меню, собранного вручную.
<?php
/**
* Для работы нужен package [pdoTools]
* HTML код меню находится в чанке [[$menu]]
* в коде чанка использовать плейсхолдеры типа <li class="[[+menuactive4]]">ссылка пункта меню</li>
*/
$pdo = $modx->getService('pdoTools');
if($res = $modx->resource) {
$id = $res->get('id');
$parent = $res->get('parent');
@andronex
andronex / parserMailOrder
Created May 26, 2015 21:51
Парсер для писем или текстовых файлов.
<?php
/**
* Парсер для писем или текстовых файлов.
* Для записи в базу юзается библиотека http://dklab.ru/lib/DbSimple/manual.html
*/
//ini_set('display_errors', 1);
//ini_set('error_reporting', -1);
require_once "db/lib/config.php";
require_once "db/lib/DbSimple/Generic.php";
@andronex
andronex / resizeImg.js
Created June 12, 2015 19:33
Resize picture for adaptive and responsive designs. JavaScript function works on the fly.
<script>
function resizeImg(){
$( ".slides li img" ).each(function( index, element ){
$( element ).removeAttr("width")
.removeAttr("height")
.removeAttr("margin-top")
.removeAttr("margin-left")
.css({ width: "", height: "", "margin-top": "", "margin-left": "" });
@andronex
andronex / introRTE
Created October 1, 2016 21:54 — 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>');
@andronex
andronex / recent.php
Created March 18, 2016 11:35
Вывод последних просмотренных товаров
<?php
$id = $modx->resource->id;
if (!isset($limit)) {$limit = 4;}
// Добавляем просмотренный товар MS2 в сессию
if ($modx->resource->get('class_key') == 'msProduct') {
if (!isset($_SESSION['viewedrecent'])) {
$_SESSION['viewedrecent'] = array($id);
}
else {