В предыдущей статье мы коротко познакомились с архитектурой системы электронной коммерции (интернет-магазина) PrestaShop, сегодня поговорим про ее модульную систему. Модули являются частью PrestaShop, позволяя расширять функциональность системы, правда, чтобы сделать нечто более-менее серьезное, зачастую вам придется расширять или переопределять методы классов, иначе сплошные костыли (см. ниже). А иногда хочется сесть и переписать магазин с нуля на Kohana. В оригинальном дистрибутиве значительная часть функций реализуется именно модулями, их там больше сотни (платежные системы, способы доставки, информационные блоки, статистика и многое другое).
обучение
Краткий туториал по Jelly-Rauth
Всех тех, кто празднует Рождество Христово 25 декабря -- с Праздником!
Приходят письма с просьбами продемонстрировать особенности работы с моей библиотекой аутентификации для ORM Jelly. С этой целью покажу, как можно написать каркас для системы под следующие требования: админка + регистрация посетителей (то и другое с возможностью автологина).
Использование библиотек ACL и A2 с Jelly-Auth
Briefly in English
In this part of Jelly-Auth Kohana 3 tutorial I try to implement ACL. To be translated.
Итак, продолжаем допиливание макета админки, сделанного на Kohana 3 с помощью расширений Jelly и Jelly-Auth. В прошлый раз мы остановились на том, что мне нужна система управлением правами доступа. Вкратце система ролей может выглядеть примерно так:
- роль 'login' позволяет пользователю логиниться в админку. Фактически, она является признаком того, что пользователь активен, а для (временной) деактивации ее можно удалять;
- роль 'user' соответствует пользователю - не администратору. Позволяет редактировать свой профиль кроме назначения ролей;
- роль 'admin' позволяет осуществлять все возможные действия, за исключением редактирования паролей пользователей (ограничение весьма условное, однако для примера сгодится);
Из уже готовых расширений для Kohana 3, позволяющих реализовать достаточно сложную систему управления правами доступа я отметил для себя A2/Acl и Aacl. Первое внедряет в Кохану Зендовскую систему управления доступом, второе же придерживается другой идеологии, позволяя автоматически задавать доступ к целым классам. И хотя последнее нравится мне гораздо больше, но я не нашел как без своих патчей реализовать вывод элементов страниц в зависимости от разрешений на доступ. Поэтому пока что буду внедрять A2/ACL.
Authentication using Jelly and Jelly-Auth. Part 2
Russian version "Аутентификация с использованием Jelly и Jelly-Auth -- часть 2"
In this part of Kohana 3 tutorial I'll add auto-login and make some using of the role system, presented in Jelly-Auth Kohana 3 module. But at first some updates for previous part needed.
1. Instead of
$this->auth = Jelly_Auth::instance();
it would be better to use
$this->auth = Auth::instance();
to retain some code flexibilty. Thanks SpadXIII
2. The Kohana 3 ORM module is really useless here and can be unplugged. Thanks to Sezarin.
Далее...
Аутентификация с использованием Jelly и Jelly-Auth -- часть 2
Briefly in English
Next part of tutorial on using Kohana 3 Jelly and Jelly-Auth (autologin, built-in role system application). Will be translated soon.
1. вместо
$this->auth = Jelly_Auth::instance();
лучше
$this->auth = Auth::instance();
Thanks SpadXIII
2. модуль ORM здесь действительно не нужен и его можно спокойно отключить (спасибо Sezarin).
Далее...
Authentication using Jelly and Jelly-Auth
Russian version "Аутентификация с использованием Jelly и Jelly-Auth"
I decide to try Kohana 3 Jelly (by jonathangeiger and banks) and Jelly-Auth (by raeldc) ORM libraries for simple authentication application (consider it as tutorial). Before now I have not used ORM because of possible performance lack, but quick prototyping advantage forced me to make a try. I have to note that in Auth-like autentication some things are not very acceptable for me (e. g. storing user data in sesion), but for my purpose it is not critical.
Далее...
Аутентификация с использованием Jelly и Jelly-Auth
Briefly in English
A short tutorial on using Kohana 3 Jelly and Jelly-Auth modules. English version.
Далее...
Запоминание во сне и борьба со страхами
Новый год хочется начать с чего-то позитивного и полезного. Поэтому расскажу о двух научных исследованиях из области психологии, которые могут иметь вполне себе практическое приложение.
Учебные материалы MIT
Среди своих закладок нашел MIT OpenCourseWare -- открытый каталог учебных материалов Массачусетского технологического института (если при этом названии у вас не замирает дыхание, можете дальше не читать). Понимаю, что ценность академического образования сейчас невелика, но... нет ничего практичнее хорошей теории, как любил говорить дедушка Эйнштейн (или это был Нильс Бор? не помню). Так что если знаете английский и имеете время -- просмотрите, а вдруг что-нибудь понравится. По большинству курсов есть Lecture notes, а по некоторым и другие интересные материалы.
Есть любопытные дополнительные разделы:
- наиболее онлайн-посещаемые курсы. Среди них самые базисные, типа "Классическая механика", "Линейная алгебра", "Введение в биологию". Из языков программирования есть введение в C++ и Python (теперь вы знаете, на чем они там пишут)
- курсы, переведенные на другие языки (русского, увы, нет)
- новые курсы . Зацепился взглядом за "Биомедицинские ИТ", "Кухонная химия", "Имперская и революционная Россия: культура и политика", "Наука Холодной войны" и даже "Моральные проблемы и хорошая жизнь"
Ну как, заинтересовало что-нибудь?
Plugins "Kohana-for-Wordpress" and "Wordpress-for-Kohana" at a glance
Это перевод краткого обзора "Плагины Kohana-for-Wordpress и Wordpress-for-Kohana – быстрый взгляд"
Plugins branch on the official Kohana forum