Все записи категории ‘На первой полосе’

Выполнение php кода через drush
 24 Мар, 2020

Для отладки или выполнения какого то разового кода иногда требуется выполнить php код в системном окружении вашего сайта на Drupal.

Читать далее »
Irregular verbs / неправильные глаголы
 12 Мар, 2020

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

Работа в проекте Genius Loci
 25 Фев, 2020

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

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

Это позволяло найти какие то новые проекты, и меня не интересовала конечно же работа в офисе с 9-18, 5/2.

Контакт

Один из таких контактов в 2013 году стал для меня владелец проекта genius loci — Саша Белянин, приятный в общении интеллигентный дядька, который рассказал об идеи развития его проекта, а-ля каталога работ, соц. сети для художников, фотографов и других творческих людей.

Проект в тот момент уже существовал, был сделан на Drupal 7, но были какие то сложности с разработчиками, которые (кажется) были какой то питерской конторой. И скорее всего, они были «заточены» на типовые сайты, и им сложно было продолжать работу над не типовым проектом.

Я пообщался с Сашей, мы составили план, я оценил работы по деньгам и позвал Стаса для работы над дизайном.

По сути, нужно было всё переделывать, а также я подумал, что было бы не плохо сделать downgrade на Drupal 6.

Сложно сейчас объяснить это, возможно, некоторых смутивших бы решение с downgrade. Но идея была использовать более простою и экономичную схему данных D6 в противовес D7.

Сотрудничество

Перечислять множество релизов, которые мы выпускали следующие 3 года до 2017, я не стану. Можно посмотреть тематическую ленту постов о гении места.

Это было многолетнее сотрудничество, где мы циклически проходили стадии — обсуждения, планирования и реализации. Несколько раз мы производили редизайн проекта. У сайта сформировалась своя аудитория, а также пусть небольшой, но свой редакторский коллектив.

В 2017 году из-за отсутствия средств, чтобы продолжать проект, пришлось его консервировать. Мы закрыли регистрацию для новых пользователей, оставив полный функционал для тех, кто уже завел аккаунты. Понятно, что пришлось свернуть конкурсы и редакторскую деятельность.

Какое то время (около года или даже больше) проект прожил в таком режиме. Существовала надежда, что найдется спонсор, и можно будет вернуться к работе над проектом.

Фатальная ошибка

В определенный злополучный момент, Саша решил «прибраться» на сервере, почистить лишние файлы. И он удалил папку с работами авторов через FTP на хостинге. Резервного копирования к сожалению не производилось, откатываться было не куда.

Код не пострадал, да и можно было бы вернуть всё из репозитория, база данных тоже не пострадала, но самое ценное — это были загруженные авторские работы. Они и попали «под оптимизацию».

Хоть это и не было прямой оплошностью, но стало результатом моей халатности. Надо было подстраховаться, настроить бекапы, предусмотреть такую ситуацию, всё таки Саша не технарь. Я рассчитывал, что он для решения такой задачи обратиться ко мне, но он решил справиться сам, постеснялся меня «дернуть» :)

Как избежать изменения позиции scroll в документе после установки #hash
 21 Фев, 2020

При установке значения hash в url окна, к примеру так: window.location.hash = ‘#something’; браузер прокрутит документ до позиции элемента вида <a name=’something’></a>. Иногда такое поведение является не желательным.

Читать далее »
Проверка checkbox состояния checked, jQuery
 19 Фев, 2020

Шаблон для проверки состояния элемента input[type=’checkbox’]. Код проверяет отмечен элемент или нет.

Читать далее »
Кнопка «Вверх» с анимацией прокрутки окна
 16 Фев, 2020

Ставший уже привычным элемент навигации внутри страницы — кнопка «Вернуться к началу страницы». Разберем как реализовать эту функцию.

Читать далее »
Изменить текст no-results во views программно
 5 Фев, 2020

Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления.

Данная опция находится во вкладке ‘advanced’ вашего представления. Но в данной статье я покажу как изменить её программно перед рендерингом шаблона views.

Читать далее »
Включить вывод php ошибок в drupal 7
 24 Янв, 2020

Drupal надстраивает собственные разрешения на вывод ошибок, потому если вам необходим вывод ошибок на этапе разработки, то важно знать как разрешить их показ/протоколирование.

Читать далее »
Удаление поля из entity в Drupal программно
 10 Янв, 2020

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

Читать далее »
HTTP авторизация для nginx
 3 Дек, 2019

Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt выполняются поисковыми машинами не так, как ожидается. Т.е. при некоторых условиях страницы тестового сайта все равно попадают в поисковую выдачу.

Поэтому требуется более серьезный барьер, а именно блокировка контента. С этой целью можно использовать HTTP auth функцию веб сервера.

Читать далее »