+1.13
130 читателей, 220 топиков

ManagerNote - Блокнот на главной в админке

Написал плагин для заметок в админке EVO.
Выглядит вот так:
ManagerNote
Установка:
1. Скачать архив
2. Из архива папку assets загружаем в корень сайта на хостинг
3. Из архива в папке install выполнить запрос из файла setup.data.sql заменив перед выполнением {PREFIX} на ваш префикс указанный при установке MODx
4. Создать плагин под названием ManagerNote, в системных событиях отметить галочку OnManagerWelcomeHome, в конфигурации указать привязанный файл managernote/managernote.php, в поле код плагина вставляем весь код из файла assets/plugins/managernote/managernote.php
Готово! Переходим на главную и можем сохранять записки.
Для каждого менеджера записки свои!

Много спама. Как в Jot Х отсеивать спам по стоп-словами?

Пытаюсь отмекать при помощи стоп-слов
Такая запись
[[Jot? &pagination=`10` &captcha=`1` &canmoderate=`Jot Moderators` &badwords=`{{словаСмертиКомментариев}}` &bw=`1`]]
Но параметр bw просто не публикует ЛЮБОЙ комментарий
как быть? Вспамажите :)

Compare snippet v2.0

Сниппет-сравнялка для вашего сайта.


Готовое(почти) решение для вашего каталога\интернет-магазина.
Добавил класс, тыцнул на кнопочку и оп-ля — сравнялка готова =)

Новая версия старого сниппета. Не такой «дикий», и на много удобней старого.
Гибкая настройка каждого элемента сравнения, мультиязычность, поддержка горизонтальной\вертикальной верстки, удобная настройка списка тв полей.

Документация пока тут
Потом залью в docs.

Преимущеста
  • Быстрая установка и настройка.
  • Поддержка blang.
  • Поддержка горизонтальной(таблица) и вертикальной (блоки) верстки.
  • Удобная настройка списка тв полей для сравнения с возможностю задавать свои поля для разных категорий.
  • Группировка тв по категориям.
  • Подстановка значений из девера документов.
  • Возможность скрывать одинаковые параметры.


Чтобы сравнение работало в фронтенде досточно для кнопки или ссылки доабавить клас «to-compare» и атрибут «data-id» с id товара.
Пример:
<a class="to-compare" data-id="5">Добавить в сравнение</a>

Для елемента с количеством товаров в сравнении необходимо задать class=«compare-count»
Пример:
Количество товаров в сравнении
<div class="compare-count"></div>

После загрузки страницы скрипт пропишет клас «active» для елементов, которые уже есть в списке сравнения.

Вывода списка товаров

Для вывода списка товаров необходимо на странице вызвать сниппет compare

Конфигурация
Задать список тв полей для сравнения можно несколькими способами:
  • Перечислив их в параметре tvList
  • Задать в родительском документе в параметре multiTV «compare»
  • Задать в параметре «tvCategory» id категории тв параметров, через запятую

Пример:
[!compare?
    &showUniqueValues=`0` //выводим все свойста
    &layoutType=`vertical` // вертикальная верстка
    &ownerTpl=`@CODE:<ul class="compare-list js-compare-slider">[+wrapper+]</ul>`
    &blockOuter=`@CODE:<li class="compare-list__item">[+item+][+tvs+]</li>`
    &itemTpl=`tpl.compareItem`
    paramBlockOuter=`@CODE:<ul class="compare-list__descr">[+wrapper+]</ul>`
    paramTpl=`@CODE:<li class="compare-list__descr-item">
    <span class="compare-list__descr-title">[+name+]</span>
    <span class="compare-list__descr-info">[+value+]</span>
</li>`
!]

"Ctrl + f5 нажмите". Плагин EVO

Расписывать долго не буду, просто предоставляю вашему вниманию плагин для Evolution, который добавляет в конец ссылки подключаемых скриптов и картинок время последнего изменения. Таким образом браузер при загрузке страницы будет всегда брать актуальную версию файла.
Решение накидал на скорую руку, поэтому код не самый идеальный (но рабочий), если кто поправит — буду признателен)

Читать дальше →

Защита от спама без каптчи. Плагин.


В прошлом году я писал дополнение, которое проверяло наличие кириллицы в тексте отправляемых сообщений, и если не находило, то отправляло пользователя в вечный бан.
Дополнение отлично отправило несколько тысяч спамеров в бан на ряде моих проектов, но тем не менее, обычные, кириллические рассылки предлагающие взять кредит или увеличить половой орган, все равно проскакивают.

Посему малость дописал решение, используя веб-сервис Akismet. Он платный, но во-первых при больших объемах это не такие и большие деньги, а во-вторых там есть возможность подключить один сайт бесплатно на один аккаунт.

Читать дальше →

Пакет сео-плюшек для ленивых менеджеров



В который раз убеждаюсь, что у программистов мысли рождаются одинаково) Честно, не этот пост послужил отправной точкой для создания нижеследующего пакета) Реально параллельно мысли шли)

Вообщем решил собрать по сусекам все что у меня есть полезного и нужного для СЕО оптимизации и объединить в один пакет.

Что мы умеем?

  • Проставлять alt длля картинок согласно шаблону, с порядковым номеро
  • Проставлять title для ссылок согласно содержанию, а если там пустота — ставить свой текст по шаблону, также с порядковым номером
  • Вытягивать код в одну строку (спасибо Agel_Nash), но оставлять нетронутым тэг pre (лично я не пользовался режением Евгения, именно из-за этого)
  • Убирать внешние ссылки, но оставлять возможность перехода по ним (не забываем в роботе прописать Disallow: /exit.php)
  • Убирать циклиечские ссылки (т.е.ссылки на самих себя) — где-то слышал, что это не зер гуд
  • Формировать ключевики из тэгов h1-h6,b,i,strong и докидывать получившиеся к основным

В принципе и не так много, но весьма полезно.

Минусы решения:
  • Т.к. идет постобработка, то увеличивается время генерации страницы. Хотя я разницы особо и не заметил, ибо там простые, по-сути, математические действия

Плюсы:
  • Установил и оно работает
  • Работает как со старыми, так и с новыми документами, не нужно ничего пересохранять
  • Смотрит не только в поле контента, а по всей странице. Поэтому дополняет «чанки, шаблоны и прочие телевизоры)»
  • Делает MODX реально лучшим движком для СЕО)



Читать дальше →

Удаление старых изображений. Плагинчик.

По мотивам вот этого топика написал плагин, который удаляет старые, неиспользуемые, изображения.
В отличии от предыдущего скрипта, мой использует Ajax, так что количество файлов в папке не на что не влияет.

Читать дальше →

Еще одна реализация вставки нескольких картинок с текстом (custom TV).

Выглядит так.

Ссылка для скачивание — MultiPhotosText
Сделано через custom TV.
Требует установленного плагина TINYMCE.
Используется jQuery и jQuery UI.
Сниппет готового нет, но трудностей с его написанием не должно быть по примеру multiphotos.
Результат сохраняется в json строке:
{«1»:{«img_url»:«путь к картинке», «text»: «сам текст»}}

Можно сортировать картинки, перетаскиваются за серое поле.
Написал для использования в карусели где есть картинки плюс текст с небольшими элементами форматирования.
Есть проблемы, после того как прикрутил возможность сортировки вылезли косяки (надеюсь исправить в следующей версии).
1) При первой попытке перетащить картинку экран дергается, пока не отследил почему.
2) При перетаскивании не видно текста, когда отпускаешь кнопку мышки текст встает на свое место. Это известная проблема с TINYMCE.
3) Не всегда картинки меняются местами, особенно это касается если хочешь поставить картинку первой или последней. В середину перемещаются легко. Если две картинки проще добавить третье поле, поменять местами и удалить пустое поле.
(Пытался исправить ситуацию с помощью параметра distance в jquery ui sortable не помогло)
4) Дизайн, не с первого взгляда понятно что можно сортировать, плюс мелкие кнопки для добавления/удаления картинки.

Манипуляций с самими картинками (изменения размера, обрезание) не происходят. Считаю что картинки для галерей необходимо готовить дизайнеру.

Исправление раскладки msearch2

Это скорее всего, простоq вопрос, но я не могу понять где это включается…
Подскажите, люди добрые:)
На сайте минишоп эта функция работает. Но с одной проблемой: если ввести не «тов», а «njd», то будет искать «тов». Но если ввести вместо «това» — «njdf», то уже не ищет. Почему так?)
Спасибо!