Алексей Федоров
С нами с 19 октября 2015; Место в рейтинге пользователей: #186Система краудфандинга на 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
Добро пожаловать под кат :)
TinyMCE + Tickets + выбор главной картинки в TV
Добрый день. Понадобился функционал удобного редактора textarea во фронтенде Tickets, а также сделать возможность пользователю выбрать главную картинку для тикета.
Вот что получилось:
Инструкция под катом
Вот что получилось:
Инструкция под катом
Динамическое обновление мини корзины.
Компонент msMiniCartDynamic для магазина miniShop2 даёт возможность изменять количество добавляемых товаров в корзину, как кнопками ±, так и ручным вводом количества в поле input. Также, при необходимости, есть возможность динамического изменения миникорзины. Далее подробно.
Уведомления с MODx в Telegram
Всем привет. Это не совсем готовое дополнение, скорее инструкция. Может быть кто нибудь разовьёт и соберёт пакет.
У меня небольшой контентный проект и надо было быть оперативно в курсе, что там журналисты публикуют.
Такое извещение можно повесить на заказ обратного звонка, заказ товара или какие нибудь другие события о которых я не подумал :)
У меня небольшой контентный проект и надо было быть оперативно в курсе, что там журналисты публикуют.
Такое извещение можно повесить на заказ обратного звонка, заказ товара или какие нибудь другие события о которых я не подумал :)
Вызов функции поле переключения страницы mSearch2
Добрый день! Есть скрипт который высчитывает максимальную высоту блока в контейнере и после чего устанавливает всем блокам на странице идентичную высоту. Но вот если переключить станицу скрипт не отрабатывает т.к перезагрузка только части страницы из-за ajax и скрипт не отрабатывает.
[ClickToCall] Виджет звонка
Представляю Вашему вниманию компонент, который выводит анимационную кнопку «позвонить» для пользователей мобильных устройств.
Для определения мобильных устройств используется библиотека mobile-detect.js
Особенности
Для определения мобильных устройств используется библиотека mobile-detect.js
Особенности
- Выводит виджет только для пользоваталей мобильных устройств (используется mobile-detect.js).
- Гибкая настройка времени отображения виджета по каждому дню.
- Можно выключить используемую библиотеку mobile-detect.js в настройках, если Вы уже её используете на сайте.
- Имеется возможность использовать собственные JS/CSS файлы.
Фильтрация пользователей с помощью mFilter2
Делая очередной тематический каталог организаций, где каждый пользователь это отдельная организация, которая размещает информацию о себе и своих услугах, я обычно применял классическое решение, когда при регистрации пользователя с помощью Office, создается отдельный ресурс и тогда можно без проблем просматривать карточки (ресурсы) организаций, осуществлять поиск и фильтровать их по разным параметрам используя готовые коробочные решения mSearch2 и mFilter2.
Плюсов тут несколько, в основном это возможность применять классические решения, ничего не допиливая. Но есть и минусы — приходится писать плагины, которые отслеживают изменение профиля пользователя и дублируют эти изменения в ресурс, определенные сложности модерирования, проблемы со скоростью сохранения и вывода информации и т.д.
Я решил заморочиться и сделал решение без дублирования информации, на основе таблицы пользователей.
Плюсов тут несколько, в основном это возможность применять классические решения, ничего не допиливая. Но есть и минусы — приходится писать плагины, которые отслеживают изменение профиля пользователя и дублируют эти изменения в ресурс, определенные сложности модерирования, проблемы со скоростью сохранения и вывода информации и т.д.
Я решил заморочиться и сделал решение без дублирования информации, на основе таблицы пользователей.
Фотографии Вконтакте в MODx Revo
Сниппет, который позволяет вывести фотографии из альбома любой группы или же человека. Сниппет использует pdoTools.
Разные скидки в зависимости от количества товаров
Описан алгоритм для модуля интернет-магазина minishop2. Для других модулей алгоритм похож, но объекты отличаются.
Задача: сделать автоматический пересчет стоимости товаров в зависимости от общего количества товаров, находящихся в корзине.
Решение: пройти по всему массиву корзины и изменить цену товаров.
Задача: сделать автоматический пересчет стоимости товаров в зависимости от общего количества товаров, находящихся в корзине.
$cartArray = $cart->get(); // Массив товаров в корзине
$cartProduct = $cartArray[$key]; // Один товар в корзине
Решение: пройти по всему массиву корзины и изменить цену товаров.
[pdoTools] 2.3.2 - автозагрузка модификаторов
Вот и подоспело очередное, уверен, горячо ожидаемое обновление pdoTools.
На этот раз я придумал, как можно иначе подключать Fenom, что дало возможность реализовать кучу встроенных модификаторов, а там где их не хватит — автозагрузку модификаторов из сниппетов.
Системная настройка pdotools_fenom_modifiers больше не нужна и удаляется при установке обновления. Если указанный модификатор не найден, то работа не останавливается, как раньше, и вы просто получаете ошибку в лог.
Следует учесть, что я реализовал не все фильтры MODX (но очень много), и не все из них работают точно так, как в MODX — поэтому потрудитесь прочитать документацию, прежде чем жаловаться, что у вас там опять что-то не того.
Ссылка на подробнейшую документацию отдельно, чтобы все заметили.
На этот раз я придумал, как можно иначе подключать Fenom, что дало возможность реализовать кучу встроенных модификаторов, а там где их не хватит — автозагрузку модификаторов из сниппетов.
Системная настройка pdotools_fenom_modifiers больше не нужна и удаляется при установке обновления. Если указанный модификатор не найден, то работа не останавливается, как раньше, и вы просто получаете ошибку в лог.
Следует учесть, что я реализовал не все фильтры MODX (но очень много), и не все из них работают точно так, как в MODX — поэтому потрудитесь прочитать документацию, прежде чем жаловаться, что у вас там опять что-то не того.
Ссылка на подробнейшую документацию отдельно, чтобы все заметили.