Блог пользователя - Andruxa

Интернет-магазин бренда KEEN

30 августа 2017 в 16:04
1

Второй сайт на общем мультисайтинге с Днем Сурка.

https://www.keenrussia.ru

Функционал тот же, что и у Сурка, немного урезан на первом этапе.

Интернет-магазин "День Сурка"

28 июня 2015 в 15:15

http://www.densurka.ru

Я делал бэкенд, дизайном и вёрсткой занимались другие люди.
Плюс перенос всего контента из drupal 6 + ubercart 2.

26000 сущностей product,
3000 product display,
116 типов товаров (отдельная сущность, в которой хранятся настройки атрибутов, отображения и т.д)
1500 цветов,
600 размеров,
90 особенностей товаров - по ним можно делать выборку в каталоге,
225 характеристик товаров, пока выполняют описательную функцию, планируется добавлять их в индекс в зависимости от типа товара

Цвета и размеры приведены к общепонятным.

Передача числового аргумента во вложенное представление - маленький грабль

30 июня 2013 в 9:55

Потоптал немного граблей, докладываю:

допустим, имеются 2 представления, назовём их П1 и П2
П1 - с контекстным фильтром,
П2 - тоже с контекстными фильтрами, один из них - просто целое число: представление вызывается из разных мест, и чтобы не плодить представления, обошелся одним с числовым аргументом

итак, из П1 вызывается П2, в него передаются 2 аргумента в виде: [myarg]/1
[myarg] - значение поля, которое скрыто в выводе, 1 - это просто число 'один'

в таком виде оно не работает
если подставить в П2 [myarg]/1 - всё в порядке, а при вызове из П1 - не работает

Оказалось, что вместо числа 1 (один) в П2 передавалось значение контекстного фильтра П1, т.е. получалось, что запись [myarg]/1 была эквивалентна [myarg]/!1

Доработка YML export под d6

5 июня 2013 в 0:58

Потребовалось экспортировать товары из определенных разделов каталога в Я.Маркет, есть модуль Yml export, который экспортирует все товары из каталога.

Немного доработал его, теперь в настройках можно выбрать разделы каталога, из которых будут экспортированы товары.
Если разделы не выбраны - экспортируется весь каталог.

Кеширование запросов к БД в своём модуле

11 апреля 2013 в 13:39

Приветствую.

Пишу модуль, хранящий данные в своей таблице, ориентировочно предполагаю 500-1000 записей.
Данные редко обновляются, но планируется их частое чтение, запрос возвращает 5-15 записей за раз.

Соответствено, возникла мысль кешировать результаты запросов, чтобы не насиловать БД.

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

Форма создания материала - виджет 2 в 1

18 января 2013 в 16:52

Приветствую.

Есть такая задача.
Тип материала - приказ (по организации). Он может касаться должности и (или) сотрудника.
Например, с приказом об увольнении сотрудника должен быть ознакомлен непосредственно сам увольняемый (юзер), его начальник (должность), начальник СБ (должность) ну и т.д.
Valeratal меня поправит или дополнит при желании.

Соотвественно - приказ это нода, сотрудник - юзер, должность - термин таксономии в дереве штатной структуры.
Типу материала "приказ" добавляются два поля - юзеррефренс для сотрудника и термрефренс для должности.

Но руководство решило пойти дальше и совместить понятия пространства и времени.

Media Gallery + Media Internet Sources = медиаконтент со сторонних ресурсов

16 августа 2012 в 2:27

Есть задача - дать возможность пользователю создавать свои материалы, к которым прикреплять фото и видео.

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

С этим неплохо справляется Media Gallery: пользователь имеет возможность закачать файл, с помощью Media Internet Sources - размещать ссылки на медиафайлы, находящиеся на сторонних хостингах, а также выбирать медиа из библиотеки, куда они добавляются автоматически после аплода или после указания внешней ссылки.

Теперь чего не хватает в этом функционале.

Свой сервис коротких ссылок

12 августа 2012 в 3:50

Потребовалось сделать сервис коротких ссылок на своём домене
да, в дополнение к тем 100500, которые уже есть в сети
не спрашивайте, зачем.

Нужно, чтобы при создании контента на сайте, происходил кросспост в разные фейсбуки и при этом в нем сразу указывалась короткая ссылка на алиас, по которому расположен этот контент, т.е.
создается нода www.site.com/node/100500, при её сохранении pathauto генерит ей алиас www.site.com/контент/чпу-ноды, содержимое публикуется в нужной соцсети и в кросспосте указывается короткая ссылка вида si.te/hhVHV, по которой происходит редирект 301 на www.site.com/контент/чпу-ноды (а не на системный путь www.site.com/node/100500)

D6 + UC2 - виды доставок в зависимости от суммы и адреса заказа

8 апреля 2012 в 1:34

Расскажу о том, как в форме оформления заказа выводить те способы доставки, которые актуальны для данного заказа.

Типичный случай для интернет-магазина: покупателю предлагается доставка курьером по Default City (город, где расположен склад магазина), которая может быть бесплатной при сумме заказа, превышающей определённый порог и доставка почтой / EMS / транспортной компанией - в другие города.

Оговорюсь сразу - я слыхал, но лично не встречал модуль расчета стоимости доставки почтой России, про расчет доставки транспортными компаниями мне вообще ничего не известно, d.org тому в подтверждение,

Сайт-визитка отеля

26 октября 2011 в 2:25

http://www.iguasu.ru/

Базовая тема - Framework, по совету знакомых сеонистов переделал её из HTML 5 в XHTML 1.0 - мол, Яша ещё не готов.
Хз, обратно всегда можно вернуть.

Получилось валидно, практически кроссбраузерно (IE7+)

Из недоделок:

  • можно разукрасить js форму бронирования, если будет дизайн контролов
  • на страницах нет <h1>: ТЗ от сеонистов - будут
  • по этой же причине отключен Meta tags

Я делал вёрстку, темизацию, функционал собран из стандартных модулей, dev-отсутствуют
Дизайн, фото - Олеся Ласкова.

А вы чтите заветы Лебедева?

7 сентября 2011 в 18:35

насчет того, что на странице не стоит постить ссылку на эту же самую станицу.

Отсюда:

Quote:

Делать ссылку с логотипа на главную («домашнюю») страницу — хорошо и правильно. Но при этом надо избегать самой часто распространенной ошибки (ради которой и написан этот параграф) — если мы находимся дома, то ссылки «на главную» там быть не должно. Это относится и к другим местам на сайте: любая ссылка подразумевает перемещение.

Один из основных законов ориентирования на вебе и гипертекстовой навигации: ничто не должно содержать ссылку на само себя.


Звучит логично и убедительно.

Добавление в корзину из лайтбокса - вопрос

4 августа 2011 в 18:45

Решил заменить стандарные уберкартовские атрибуты на решение, описанное в этом топике

Вкратце - каждому набору атрибутов создается своя нода-товар с cck-полями - атрибутами,
Ноды-товары объединяются нодой-заголовком товара через нодрефренс, на странице ноды-заголовка список товаров выводится прикрепленным вьюсом, табличный вид:
фото товара, его заголовок, цена, кнопка добавления в корзину
Во вьюсе сделаны expoised filters, с помощью которых можно отфильтровать ноды-товары по их cck-полям - атрибутам.
С помощью Filters Auto-submit фильтрация происходит без перезагрузки страницы.
C помощью Ajax Driven Cart добавление в корзину и обновление блока корзины также происходит без перезагрузки страницы.

С этим все понятно.

Теперь возникло желание воспризвести функционал стандартного каталога уберкарта - если у товара есть атрибуты, при нажатии на кнопку добавления в корзину, покупателя просят выбрать атрибуты для товара.
Для этого в представлении, выводящим список товаров (это представление прикреплено к странице товара-заголовка) делаю вид "Страница", путь - selectproduct/%, где % - nid ноды-заголовка товара

В представлении, формирующем страницу каталога, для нод-заголовков товара создаю поле с ссылкой вида <a href='selectproduct/[nid]/lightbox2' rel='lightframe' title='blabla'>Добавить в корзину</a>

Соответственно, по клику на эту ссылку лайтбокс выводит iframe с представлением-списком товаров

УРАЛСИБ. Я испытываю крайнюю степень удивления.

27 июля 2011 в 20:46

Довелось сегодня ставить уралсибовский клиент-банк.

Вот что он выдал в пятом огнелисе:

Quote:
Ваш браузер не поддерживается системой BS-Client (ДБО BS-Client)
Используйте Microsoft Internet Explorer версии 5.0 или выше.

т.е. пятый осёл им идеологически ближе, чем пятый огнелис

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

C Днем Победы!

9 мая 2011 в 10:12

Лейтенант Александр Чурин,
Командир артиллерийского взвода,
В пятнадцать тридцать семь
Девятнадцатого июля
Тысяча девятсот сорок второго года
Вспомнил о боге.
И попросил у него ящик снарядов
К единственной оставшейся у него
Сорокапятимиллиметровке
Бог вступил в дискуссию с лейтенантом,
Припомнил ему выступления на политзанятиях,
Насмешки над бабушкой Фросей,
Отказал в чуде,
Назвал аспидом краснопузым и бросил.
Тогда комсомолец Александр Чурин,
Ровно в пятнадцать сорок две,
Обратился к дьяволу с предложением
Обменять душу на ящик снарядов.
Дьявол в этот момент развлекался стрелком
В одном из трех танков,
Ползущих к чуринской пушке,
И, по понятным причинам,
Апеллируя к фэйр плэй и законам войны,
Отказал.
Впрочем, обещал в недалеком будущем
Похлопотать о Чурине у себя на работе.
Отступать было смешно и некуда.
Лейтенант приказал приготовить гранаты,
Но в этот момент в расположении взвода
Материализовался архангел.
С ящиком снарядов под мышкой.
Да еще починил вместе с рыжим Гришкой
Вторую пушку.
Помогал наводить.
Били, как перепелов над стерней.
Лейтенант утерся черной пятерней.
Спасибо, Боже - молился Чурин,
Что услышал меня,
Что простил идиота…
Подошло подкрепленье – стрелковая рота.
Архангел зашивал старшине живот,
Едва сдерживая рвоту.
Таращила глаза пыльная пехота.
Кто-то крестился,
Кто-то плевался, глазам не веря,
А седой ефрейтор смеялся,
И повторял –
Ну, дают! Ну, бля, артиллерия!

Автор

С праздником, друзья!

[решено] Список нод, прикрепленный к ноде, с теми же терминами

24 апреля 2011 в 14:45

В этом посте была поставлена интересная и полезная задача:
- на странице ноды вывести список заголовков нод, имеющих тот же термин таксономии

С ходу возникает такой пример использования:
есть каталог статей, организованный словарем таксономии в иерархию:

политика
--внешняя
--внутренняя
экономика
культура
ну и.т.

нужно выводить после статьи список статей (их заголовки и м.б. анонсы) на ту же тематику.

Для усложнения задачи будем помнить, что:
- нода может быть привязана к нескольким словарям, некоторые из которых выполняют служебные функции, и по их терминам список строить не надо
- нода может быть привязана одновременно к нескольким терминам одного словаря (статья имеет тэги "политика" и "экономика")

Итак, создаем новое представление:
Представления > добавить ( /admin/build/views/add )
Имя представления - по вкусу, тип - Материал

Переходим на страницу редактирования представления

Взаимосвязи:
добавляем новую связь Таксономия: Связанные термины
(та, которая первая в списке, у нее описание "Relate nodes to taxonomy terms, specifiying which vocabulary or vocabularies to use...")
Включаем чекбокс "Эта связь обязательна", дальше идет список словарей, он в нашем случае не работает, чекбоксы можно не трогать

добавляем новую связь Таксономия: Материал
Выбираем Связь: термин (или какую метку вы указали первой связи)
Не использовать связь
Включаем чекбокс "Эта связь обязательна"

Аргументы:
добавляем Материал: Nid