Павел Романов
С нами с 03 марта 2014; Место в рейтинге пользователей: #70Система краудфандинга на miniShop2
Добрый день.
Собираю краудфандинг систему на всеми нами любимом miniShop2 с минимальными изменениями. Да, это полноценный рабочий вариант наподобие кикстартера, индигого и планета.ру. Уже есть, чем поделиться, но хотелось бы получить от вас советов, дополнений. Вообщем, совместными усилиями доработать, буду премного благодарен. Почти все есть в свободном доступе в этом сообществе, так что осталось дело за малым – собрать все воедино.
Для постинга проектов пользователями выбрал Tickets. Если создавать проекты, как товары miniShop2, то задание гораздо упрощается, но мне очень нравятся тикеты, хоть убейте.
Далее будет информация о
сниппетах
get_backers_page – вывод списка пользователей, поддержавших проект, а также суммы пожертвования
get_backers_count – сколько всего раз пожертвовали данному проекту
get_backers_sum – сумма всех пожертвованных денег проекту
get_backers_percentage – процент пожертвованных денег от нужной суммы
плагинах
pricefree – обработка произвольной цены на странице оплаты
priceselect – radio кнопки с выбором пожертвования
а также немного js и модификаций miniShop2
Добро пожаловать под кат :)
Собираю краудфандинг систему на всеми нами любимом miniShop2 с минимальными изменениями. Да, это полноценный рабочий вариант наподобие кикстартера, индигого и планета.ру. Уже есть, чем поделиться, но хотелось бы получить от вас советов, дополнений. Вообщем, совместными усилиями доработать, буду премного благодарен. Почти все есть в свободном доступе в этом сообществе, так что осталось дело за малым – собрать все воедино.
Для постинга проектов пользователями выбрал Tickets. Если создавать проекты, как товары miniShop2, то задание гораздо упрощается, но мне очень нравятся тикеты, хоть убейте.
Далее будет информация о
сниппетах
get_backers_page – вывод списка пользователей, поддержавших проект, а также суммы пожертвования
get_backers_count – сколько всего раз пожертвовали данному проекту
get_backers_sum – сумма всех пожертвованных денег проекту
get_backers_percentage – процент пожертвованных денег от нужной суммы
плагинах
pricefree – обработка произвольной цены на странице оплаты
priceselect – radio кнопки с выбором пожертвования
а также немного js и модификаций miniShop2
Добро пожаловать под кат :)
Закрываем служебные директории MODX в Apache
В одной статье, касающейся безопасности, Василий дал очень хорошую рекомендацию по защите служебных папок. Реализовав это на своём хостинге, решил написать инструкцию, так как начинающие изучать MODX могут столкнуться с ошибкой 404, как Я например.
Курс по работе на чистом PHP
Привет, друзья! Хочу обрадовать вас новостью, что мой последний курс по работе на чистом PHP открыт всем желающим, бесплатно.
На этом курсе рассмотрены темы:
Комментирование заметок, как обычно, отключено — всё в режиме «только для чтения». Спасибо всем тем 19 добрым людям, которые купили курс в своё время.
На этом курсе рассмотрены темы:
- Простой каркас ООП сайта и контроллеры
- Работа с Composer и установка готовых решений
- Установка, подключение и использование Fenom
- Установка, подключение и использование xPDO
- Ajax-пагинация своими руками
Комментирование заметок, как обычно, отключено — всё в режиме «только для чтения». Спасибо всем тем 19 добрым людям, которые купили курс в своё время.
Редирект и запрет индексации внешних ссылок
Плагин срабатывает на пререндер страницы, отлавливает все внешние ссылки, и, в зависимости от настроек, делает редирект через внутреннюю страницу, добавляет target="_blank", rel=«nofollow» или оборачивает в noindex.
Скрипт создающий sudo юзера
Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
Sitemap Submitter
Мини плагин для оповещения поисковиков об обновлении карта сайта.
В логах выводит отчет если хотите можете отключит.
В логах выводит отчет если хотите можете отключит.
msImportExport
Вторая версия пакета обсуждается в только в этом посте
Компонент предназначен для импорта экспорта товаров для miniShop2
Импорт
Импорт происходит из CSV файла. На основании ключевого поля (которое указывается в настройках и по умолчанию имеет значение «article») будет происходить либо добавление нового товара, либо его обновление.
При добавлении нового товара если не указан для него родитель, то товар будет добавлен в базовую категорию.
Компонент предназначен для импорта экспорта товаров для miniShop2
Импорт
Импорт происходит из CSV файла. На основании ключевого поля (которое указывается в настройках и по умолчанию имеет значение «article») будет происходить либо добавление нового товара, либо его обновление.
При добавлении нового товара если не указан для него родитель, то товар будет добавлен в базовую категорию.
Соединяем EasyComm и mFilter2
Всем привет, и сразу к делу (кстати пишу первый раз тут, если будут ошибки — исправим).
Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.
Добавляем в вызов mFilter2 следующий код:
Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.
Добавляем в вызов mFilter2 следующий код:
&loadModels=`easycomm`
&where=`{"class_key":"msProduct"}`
&leftJoin=`{
"ecThread": {
"class": "ecThread",
"on": "msProduct.id = ecThread.resource"
}
}`
&select=`{
"msProduct": "*",
"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}`
mFilter2 - функции обратного вызова
Как перехватить данные с pdoPage, используемому в mFilter2 по умолчанию?
То есть в обычном pdoPage прекрасно работают функции обратного вызова, а в mFilter2 почему-то не получается.
Или я не туда смотрю? Может и для mFilter2 есть функции обратного вызова, только я пропустил это?
То есть в обычном pdoPage прекрасно работают функции обратного вызова, а в mFilter2 почему-то не получается.
Или я не туда смотрю? Может и для mFilter2 есть функции обратного вызова, только я пропустил это?