Рубрика «cms» - 9

Приветствую всех! На текущем проекте мы используем Yii2 и в процессе разработки понадобилась некая сущность как модуль.

В Yii2 уже реализована модульная система, но есть один минус в том что модуль не позволяет выводить один модуль в другом модуле, а использования виджетов тоже не подходит, т.к. это часть вида и не умеет обрабатывать действия, например входящий POST-запрос (хотя одно время мы использовали виджеты так с некими костылями).
Читать полностью »

image

По слухам сегодня должен состояться релиз 7.1. Поэтому хотелось бы немного оглянуться назад и посмотреть, а как же php вырос из набора костылей и подпорок в полноценный язык для веба. Прямо по шагам, т.е. по версиям. А в конце хотелось бы немного поразжигать поразмыслить о роли php в современной экосистеме.

Давайте мысленно вернемся во времена php4, когда получили своё развитие wordpress, bitrix и миллионы других CMS и домашних страничек.

Читать полностью »

Разработка модулей для Magento 1.x — большой гайд + видео - 1

Привет! Несмотря на давно уже выпущеную Magento 2, Magento первой версии еще живее всех живых и пока еще не собирается нас покидать. Команда Magento будет поддерживать первую версию продукта 3 года с даты выпуска версии 2, т.е. примерно до ноября 2018. Рынок пестрит широчайшим выбором тем, модулей и сервисов заточеных под Magento 1.x версии. И большое количество сайтов, которые сейчас на Magento 1.x, не торопятся обновляться. Работы много — выхлопа мало. А значит, разработка под Magento первых версий еще актуальна и так будет несколько лет.

Но не о перспективах развития e-commerce решений пойдет речь в этой статье. Тут я решил собрать своеобразный гайд по созданию модулей для Magento 1.x (далее просто Magento). Но не простой гайд, в котором надо всего лишь следовать инструкциям, а с небольшими пояснениями «почему пишем так, а не иначе». Я старался найти золотую середину между краткостью и достаточностью. И в первую очередь, гайд несет пользу новичкам в деле разработки модулей для Magento. Но и более опытным пользователям данный материал может принести пользу.
Читать полностью »

Привет читатели!

Начинаем цикл статей, мы долго готовились к этому. И вот пришло время для публикации. Нам важно ваше мнение. Ваша критика будет к стати. Мы готовы ответить на все вопросы по теме))).

Надеюсь вам будет полезно!

Начнем, пожалуй, с самого простейшего нашего решения для автоматизации маркетинговых процессов без привлечения web программистов!

В любой крупной компании есть отдел маркетинга, которому постоянно нужно что-то менять на сайте, проводить исследования, воплощать, как говорится, "идеи в жизнь". Некоторое время назад у нас была самописная CMS с сильно ограниченным функционалом. Много времени мы тратили на маркетинговые задачи. Да и идей очень много, которые вставали в очередь канбана и выполнялись спустя некоторое время. Бывало, что разработка прерывалась и маркетинговое исследование откладывалось, что сильно влияло на компанию в целом.

Как же мы учили маркетологов программировать...

Читать полностью »

С момента написания первой части про Wagtail CMS уже вышла версия 1.6.3 — самое время продолжить наш путь по созданию простого блога.

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

Запускаем простой блог на Wagtail CMS (Django) - часть 2
Читать полностью »

Сегодня для продвижения сайта через SEO (Search Engine Optimization – настройка ресурса под выдачу в поисковиках) нужно делать материалы высокого уровня. Контент должен быть уникальным, полезным и оптимизированным под запросы поисковых систем.

  • Уникальность помогает быть увиденными поисковиками.
  • Качество (грамотность, структура, дизайн) и полезность материалов оценивается и читателями и поисковиками (время, проведенное пользователем на вашей странице, интерпретируется поисковыми системами как интересность контента для публики).
  • Оптимизация нужна, т.к. все вышеперечисленное не будет работать, если вы не будете попадать в топ-10 выдачи хотя бы по некоторым поисковым запросам.

Верным способом соответствовать всем этим критериям является создание авторского материала именно для вашего сайта (можно писать самому, можно заказать у агентств). Я пошел по пути собственноручного написания статей и в процессе написания разработал для себя удобную инструментальную схему, о которой хочу рассказать.
Читать полностью »

Имеется в виду: какие адреса использовать для переходов внутри сайта? Допустим, мы хотим создать на домене site.ru с уже работающим сайтом другой подсайт, файлы которого будут находиться в папке shop. URL этого подсайта будет такой:

http://site.ru/shop

Почему мы усложнили задачу, будет ясно в конце данной статьи.

1. Абсолютные ссылки

href="http://sites.ru/shop/" — ссылка на главную страницу магазина
href="http://sites.ru/shop/t-shirts/t-shirt-life-is-good/" — cсылка на страницу товара

Читать полностью »

На счёт БД на первый взгляд может показаться, что функциональность из коробки весьма скудная. Отчасти это правда, но компенсируется тем, арсенал очень хорошо продуман, решает поставленные задачи и ориентирован на производительность.
А если вам нужны более функциональные инструменты — их всегда можно до установить по вкусу, это гораздо проще чем выпилить сложного медлительного монстра.

Данная статья покажет основные интерфейсы, а трейты csCRUD и csCRUD_helpers останутся на другой раз.

Читать полностью »

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

Что нам предстоит сделать:

  • Страница блога — содержит список постов и категорий;
  • Страница просмотра поста;
  • Страница просмотра категории;
  • Отображение последнего поста на главной странице.

image

Читать полностью »

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

Основное отличие

Главное отличие маршрутизации от реализаций в популярных фреймворках типа Symfony, Laravel или Yii это декларативность вместо императивности.

Это значит, что вместо того, чтобы указывать маршруты в определённом формате и сопоставлять маршруту определённый класс, метод или замыкание, мы всего лишь описываем структуру маршрутов, и этой структуры достаточно для того, чтобы понять какой код будет выполнен в зависимости от маршрута.
Подобный подход конвенций вместо конфигураций удобен в том смысле, что требует меньше усилий во время написания кода, и не требует просмотра конфигурации для того, чтобы понять, какой код будет вызван при открытии определённой страницы, так как это очевидно из соглашения, принятого во фрейворке.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js