Интересные задачи верстки

Интересные задачи верстки и клиентского программирования

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

(далее…)

добавил Шубин Александр 12 Август, 2019
Рубрика: laravel

Появилось свободное время и я решил выложить рабочий пример компонента оформления заказа, не просто статью, а проверенный, работающий и функциональный код. За всё время работы с битриксом я довольно много кастомизировал штатный компонент. Написал несколько своих компонентов оформления заказа (первый еще без d7, приблизительно в 2010 году, быстрое оформление во всплывающем окне). Видел варианты реализации от других разработчиков. В общем смею надеяться некоторый опыт в оформлении заказа у меня есть. И весь свой опыт я постарался вложить в новый универсальный компонент.

Вот ссылка на github https://github.com/alorian/bxorder. Это не обрезанный код с существующего проекта. Компонент я писал с нуля, сразу с прицелом на универсальность.

Для начала давайте поговорим о смысле жизни. Зачем это всё вообще надо?

(далее…)

добавил Шубин Александр 12 Май, 2019
Рубрика: bitrix

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

Для тех кому проще изучить код без пояснений, смотрите пример в репозитории на гитхабе — ссылка. Пояснения о том что именно и зачем было сделано читайте в статье. Поехали 🙂

(далее…)

добавил Шубин Александр 17 Февраль, 2019
Рубрика: Bitrix24

С версии битрикса 17.5.10 добавился новый функционал по работе с аяксом. Теперь можно вызвать аяксом произвольный метод модуля или произвольный метод компонента без необходимости выполнения шаблона сайта. То есть по запросу выполнится только немного служебного кода и собственно сам метод.

На клиенте все довольно просто. Мы должны отправить обычный аякс запрос по адресу /bitrix/services/main/ajax.php

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

(далее…)


добавил Шубин Александр 22 Сентябрь, 2018
Рубрика: AJAX

Штатный bitrix:sale.order.ajax очень сложно кастомизировать. Я думаю никто не будет со мной спорить. Битриксовцы подумали над процедурой заказа, о том как заказ должен выглядеть в идеале, а потом реализовали придуманную процедуру в продукте. Все сделано хорошо, однако если у заказчика представления по процедуре заказа отличаются от штатной реализации, то изменить шаблон компонента bitrix:sale.order.ajax практически нереально. Собственно сами битриксовцы на одной из конференций предложили писать отдельный компонент заказа. В этой статье я покажу один из вариантов по реализации такого компонента. И может быть попутно поясню непонятные моменты по созданию заказа на API. Само API по созданию заказа получилось прям отличное, несмотря на сложности кастомизации sale.order.ajax. Если вдруг разработчики читают эту статью, то спасибо вам, прямо приятно работать 🙂

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

Готовый компонент, сделанный по описанным в статье принципам https://verstaem.com/bitrix/opensource-order/

(далее…)


добавил Шубин Александр 14 Ноябрь, 2017
Рубрика: bitrix, Уроки

В этой статье я расскажу несколько возможных вариантов настройки локального окружения для php разработки с использованием docker. Изначально я планировал написать более широкую статью, и расписать как локальную часть разработки, то есть установку всего на компьютере конкретного разработчика, так и устройство удаленного dev сервера на котором происходит тестирование проекта и сливается код от нескольких программистов. Но статья выходит слишком большая, поэтому в данной статье мы рассмотрим только локальное окружение.

В статье я больше буду акцентироваться именно на windows системе (в примере все работает на windows 10). Однако на mac насколько я понимаю все работает примерно так же, там тоже поднимается отдельная виртуалка с докером, на которой уже запускаются контейнеры. На линуксе контейнеры запускаются безо всяких виртуалок, прям на месте, так что для линуксоидов все будет даже еще проще чем описано в статье. Не стоит рассматривать описанное в статье окружение как готовый рецепт, пусть все работает при правильной реализации, но это просто пример, только один из возможных вариантов.

Что я вообще хочу от докера при разработке.
Во первых, мне нужна локальная копия сайта, именно на этой локальной копии я буду смотреть как собственно работает код. Эта локальная копия должна открываться по красивому адресу, например если основной рабочий сайт это example.com, то моя локальная копия должна открываться по адресу my.example.com. Безо всяких портов типа my.example.com:8747. Я часто открываю сразу несколько проектов и все открытые проекты не должны конфликтовать, то есть например у меня открыто два окна phpstorm в одном ведется разработка проекта example.com, во втором ведется разработка test.ru, и для каждого из этих проектов одновременно должны работать два локальных сайта my.example.com и my.test.ru.
Во вторых, мне под каждый проект нужны специальные настройки (mbstring, timezone) и расширения php (типа xdebug).
В третьих, мне нужны внешние инструменты типа phpmyadmin для работы с БД проекта или node.js для работы с gulp/webpack.
И наконец в четвертых, все это должно быстро подниматься для новых разработчиков которые подключаются к проекту.

Поехали. Попробуем это все реализовать 🙂

(далее…)


добавил Шубин Александр 12 Июль, 2017
Рубрика: devops

Считаем, что принято решение делать сайт на CMS и в качестве CMS был выбран битрикс. Дизайнер отрисовал картинку, верстальщик сделал html+css+js код и дальше начинает работу серверный программист. С чего начать проект? Как лучше организовать код? Об этом я хочу поговорить в данной статье. Здесь я не ставлю задачу объяснить каждую деталь подробно, не ставлю задачу показать прямо конкретные шаги, вроде выполните первое, выполните второе и т.д. Здесь я постараюсь обрисовать общую картину. Я хочу показать как должен быть устроен проект на битриксе с моей точки зрения. Если у вас есть какие то замечания, дополнения или уточнения, то пишите в комментарии. Было бы любопытно сравнить разные подходы к формированию структуры проекта.

(далее…)


добавил Шубин Александр 25 Июль, 2016
Рубрика: Уроки

Написал простенький скрипт для перевода lang файлов битрикса через яндекс переводчик. Скрипт будет вам полезен если сайт сделан грамотно, и весь текст шаблонов находится там где он должен быть в битриксе, то есть в lang файлах. Если есть текст непосредственно в шаблонах компонентов или в шаблоне сайта (в самом файле шаблона) или еще где-то кроме lang файла, то скрипт на него никак не повлияет. Если вы все же хотите воспользоваться скриптом, то сначала нужно весь текст вынести в lang файлы.

Пару слов по поводу качества перевода. От любого автоматического переводчика не стоит ждать многого. Если вы ждете, что для перевода всего сайта достаточно нажать одну кнопку и все будет идеально, то нет, я вас разочарую, по всем этим переведенным файлам потом придется идти еще раз и нещадно править текст. Почему был выбран перевод от яндекса? Потому что они предоставляют доступ к АПИ бесплатно. Если есть желание, можете купить платный доступ к апи гугла и переписать только функцию «translateString» в скрипте, она на входе получает строку на исходном языке и возвращает переведенную строку, можете сделать в этой функции перевод через любой другой сервис. Впрочем я сомневаюсь, что качество там будет заметно лучше.

(далее…)


добавил Шубин Александр 23 Апрель, 2016
Рубрика: Программы

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


добавил Шубин Александр 19 Июнь, 2013
Рубрика: Верстка

В CMS 1С-Битрикс есть свой встроенный ajax в нескольких компонентах. В этом встроенном ajax есть один существенный минус — страница все равно полностью выполняется.

Кроме встроенного в стандартные компоненты варианта ajax, можно самому написать более правильную реализацию на битриксовской библиотеке. Про встроенную библиотеку можно прочитать у Рамиля Юналиева:
http://yunaliev.ru/2010/02/bitrix-ajax/

Здесь я покажу как мне кажется более правильный вариант ajax, именно организацию работы. Отправлять сами ajax запросы я буду на jquery. Больший акцент я сделаю именно на серверной стороне, но чтобы получился законченный пример клиентскую сторону мы тоже расссмотрим.

Хочется показать какой то живой пример, поэтому мы будем отображать на странице количество и общую сумму товаров в корзине.

(далее…)


добавил Шубин Александр 20 Июль, 2012
Рубрика: AJAX

Следующая страница →