плагин

Модуль для PrestaShop

Просмотров: 28139Комментарии: 11
CMS

В предыдущей статье мы коротко познакомились с архитектурой системы электронной коммерции (интернет-магазина) PrestaShop, сегодня поговорим про ее модульную систему. Модули являются частью PrestaShop, позволяя расширять функциональность системы, правда, чтобы сделать нечто более-менее серьезное, зачастую вам придется расширять или переопределять методы классов, иначе сплошные костыли (см. ниже). А иногда хочется сесть и переписать магазин с нуля на Kohana. В оригинальном дистрибутиве значительная часть функций реализуется именно модулями, их там больше сотни (платежные системы, способы доставки, информационные блоки, статистика и многое другое).

Далее...

Обновил модуль Kohana CheatSheet

Просмотров: 2703Комментарии: 1
Web frameworks

Добавлен комментарий класса, обновлен jQuery.

Актуальны две версии:

  • в ветке master версия для текущей версии фреймворка (сейчас это 3.1.0). Пример можно посмотреть тут.
  • в ветке ko3.0.x версия для kohana 3.0.х. Пример тут

Краткий туториал по Jelly-Rauth

Просмотров: 2954Комментарии: 0
Web frameworks

Всех тех, кто празднует Рождество Христово 25 декабря -- с Праздником!


Приходят письма с просьбами продемонстрировать особенности работы с моей библиотекой аутентификации для ORM Jelly. С этой целью покажу, как можно написать каркас для системы под следующие требования: админка + регистрация посетителей (то и другое с возможностью автологина).

Далее...

Jelly-rAuth - мой модуль аутентификации для Kohana 3

Просмотров: 3422Комментарии: 0
Web frameworks

Announced my view on what should be Kohana 3 authentication library (see my github repo for readme).


Если кому интересно, выложил немного причесанный модуль, скажем, jelly-rauth, которым реализую аутентификацию в Кохане 3. Постарался все описать в README, лишь немного более развернуто по отличиям:


  •  Это не драйвер к какой-либо из имеющихся библиотек, а самостоятельный и самодостаточный модуль (требует только Jelly).  Разумеется, предпочтительнее было бы реализовать его с возможностью подключения драйверов для разных ORM. Возможно так и сделаю в будущем, если будет интерес со стороны сообщества. Но не сейчас smile
  • При разработке мне время от времени требуется задавать разные настройки для разных типов пользователей. Например, разную соль для обычных пользователей и администраторов. Ну и чтобы по разным табличкам были, хотя это дело вкуса, наверное smile Не нашел лучшего решения, чем добавить многопрофильность в конфиг. Теперь смело шифруем пароли обычных пользователей md5, а одминские -- sha512 smile

  • Убрал систему ролей. Ну не нужна она здесь, мне кажется, ибо это вотчина ACL! Там и роли, и ресурсы, все логично.  

  • Вместо ролей заделал булевское свойство 'is_active', которое отвечает за бан юзера и тем самым отчасти является аналогом прежней роли 'login'. 

  • Стало можно проверять существование пользователя в базе данных при каждом вызове logged_in() на случай если вдруг он был удален.


В итоге получилось, как мне кажется, нечто более компактное и даже может быть простое. Впрочем, исключительно на мой вкус. Конечно, сюда нужна и библиотечка для ACL, возможно чуть попозже тож поделюсь наработками, пока непричесано smile

Обновление Jelly-MPTT

Просмотров: 5401Комментарии: 8
Web frameworks

Немного разгребся с текущей загрузкой (а было тяжко smile и обновил, вернее, немного переписал Jelly-MPTT. Поуменьшилось ненужных классов и стало в более "желейном" стиле, без расширения Jelly_meta. Пока что тестировалось только  стандартными юнит-тестами. Старая версия перемещена в ветку deprecated, хотя она вполне рабочая, если до этого работала у вас нормально smile

+++

А доводилось ли вам замечать, что движение курсора мыши нелинейно по отношению к смещению самой мыши? Чем быстрее двигаешь, тем дальше смещается курсор при одном и том же смещении мыши. Это совершенно логично и привычно, но не всегда осознается smile

Kohana 3 CheatSheet на Github

Просмотров: 2240Комментарии: 0
Web frameworks

Kohana 3 CheatSheet module on GitHub


Исправил несовместимость версии 0.3 модуля с Kohana 3.0.6 и создал репозиторий на Гитхабе. Все ж действительно проще поддерживать и как-то нагляднее и прозрачнее получается, чем распространять архивом. К сожалению, не совсем хорошо знаком с Markdown, поэтому проблемы с разметкой, но надеюсь привести в приличный вид со временем.


PS Забыл сказать, что в новой версии немного расширил возможности по исключению классов из выдачи, разрешив простейшие маски имен классов (см. документацию). Ну и убрал возможность исключать директории, потому что это дублирование функционала

Kohana 3 Curl module

Просмотров: 4597Комментарии: 4
Web frameworks

Github kohana-curl repo


Модифицировал библиотеку Kohana-curl-library для использования в качестве модуля в Kohana 3. Из дополнений -- возможность множественной установки опций с использованием curl_setopt_array(), задание опций в конфигурационном файле, да некоторая (как мне кажется, обоснованная) шлифовка.  

 +++++++

I've modified Matt Wells' Kohana 2 Curl library to use with Kohana 3 PHP framework. Some main additions are using curl_setopt_array() for simultaneous many options setting, possibility to set options in config file. Any feedback will be appreciated.

Jelly-MPTT

Просмотров: 3836Комментарии: 9
Web frameworks

Попытался портировать Modified Preorder Tree Traversal  со Sprig-MPTT на Jelly (для Kohana 3). Вещь нужная, т.к. деревья встречаются часто, и с ними надо работать. Сильно помогло наличие юнит-тестов, правда, пришлось переделать их под PHPUnit. Буду благодарен за критические отзывы и сообщения об ошибках. На гитхабе это мой первый репозиторий, поэтому могут быть косяки.


+++++++

I tried to port Paul Banks' Sprig-MPTT for Jelly Kohana 3 extension. I have little experience with Jelly (and unit tests helped me very much to do this work) so any feedback especially bugs and coding principles will be highly appreciated. I'm a novice on github so pardon my git issues. 


Github Jelly-MPTT repo

Discuss on Jelly Forum

Kohana 3 merging patch 0.2

Просмотров: 25612Комментарии: 8
Web frameworks

Апдэйт патча, который сливает использованные классы Kohana 3 в один файл и тем самым ускоряет загрузку, даже со включенным акселератором.

Что нового:

  • добавлена возможность кэширования классов в соответствии с роутами. При первой загрузке создается т.н. кэш-загрузчик (preloader), который включает несколько классов, после инклуда которых становится возможным вызвать Request::instance(). Загрузчик общий для всех роутов. Последующие же классы, более специфичные для роутов, могут быть сохранены в соответствующих файлах кэша. А могут и не быть -- если отключить соответствующую настройку, будет создаваться один большой универсальный файл кэша.
  • более удобное задание настроек кэширования
  • сброс кэша закачкой или созданием в каталоге файла со специальным названием
  • рефакторинг кода
Далее...

Kohana 3 merging patch

Просмотров: 6657Комментарии: 5
Web frameworks

Начитавшись Дмитрия Котерова, решил сделать "примочку", ускоряющую работу Kohana 3 за счет объединения файлов фреймворка в один большой. Сначала хотел сделать скрипт, автоматически проходящий по всем директориям и сливающий все файлы в один, однако из-за неясностей в разрешении зависимостей решил сделать нечто подобное форумному топику, когда в один файл объединяются автозагружаемые скрипты. В общем, оно получилось, правда, может ломаться при работе со сторонними библиотеками, с кохановскими вроде все нормально (к сожалению, мой модуль CheatSheet тоже ломается). Установка предельно простая -- копируем файл в APPPATH/classes и прописываем в bootstrap.php строку define('MERGED_CACHE_FILENAME', 'имя-файла'); , я пишу ее перед spl_autoload_register(). Также должен быть включен родной системный кэш Коханы.

(in English see below)

Далее...