Краткая предыстория. Задача в общем виде ставилась так: есть каталог продукции на неком головном сайте и ряд шаблонных статей, которые (и те и другие) являются материалом для наполнения сайтов-сателлитов. На этапе развертывания сайта-сателлита (спутника) необходимо импортировать какую то ветку товарного каталога с головного сайта, а также импортировать ряд шаблонных статей как основу разделов сайта-спутника. После развертывания сайта-спутника желательно, чтобы изменения в товарном каталоге на головном сайте транслировались и на сайт-спутник, где есть соответствующие импортированные статьи, т.е. нужна своеобразная синхронизация публикаций.
Все записи категории ‘Программирование’
Сейчас куда ни глянь, пошла мода в качестве имени при авторизации использовать не пресловутый login, а адрес электронной почты. И это действительно удобно. Адрес почты уникален для каждого пользователя, хорошо запоминается самим пользователем и не возникает проблемы вроде той, когда при регистрации вам говорят, мол, извините, но пользователь «Яша» уже существует, попробуйте «Яша1, Яша2 или Яша3».
Не устану повторять, что wordpress уже давно перерос возможности блогового движка. Но по умолчанию он сконфигурирован именно для блоговых целей и чихает на то как устроены поисковые системы и их требования.
Можно бесконечно говорить о том, что сама оптимизация под поисковые системы вещь абсурдная. Но когда вся эта история приправлена большими вложениями в рекламу, то оптимизацией не занимается только ленивый.
Не все дизайнерские решения укладываются в оформление посредством css. В этот раз, это — главное меню сайта. Нужно было изобразить отдельные пункты меню отдельными картинками, а активные элементы меню показать другими картинками. Есть действительно оригинальные дизайнерские решения, а в моём случае в сss не вписался фильтр «сияния» fireworks, примененный дизайнером к заголовкам активных пунктов меню.
Возможность запрограммировать на PHP (php code) список значений поля CCK, является замечательной опцией для разработчика сайта.
Недавно я затеял некоторую деятельность по созданию он-лайновой игрушки. Это из разряда хобби, и пока вообще речь не об этом. Возможно, я что то напишу об этом позже.
В отправной точке, при создании он-лайновой игрушки, я стоял перед скромным выбором — ни о каком персональном выделенном игровом сервере речи не шло, и я рассчитывал не выходить за рамки возможностей веб-сервера. Фактически, игра при этом не сильно отличается от такой разновидности веб-приложения как чат (chat). Единственно, что мне нужно было дополнительно — это принудительный периодический вызов скрипта для обсчета ряда игровых моментов (прогон очереди команд и расчеты связанные с функционированием баз).
После установки, регистрационная форма друпала (drupal) имеет всего пару полей — login и email. В большинстве случаев это можно почитать за благо. Ибо по моему разумению большего и не надо, разве что поле проверочного кода добавить для предотвращения авторегистраций.
Но суровые будни показывают, что для коммерческих сайтов важно собрать хотя бы минимальную анкету о пользователях, которые регистрируются на сайте. Есть желание сразу разделить физических и юридических лиц, узнать, к примеру, ФИО, тел контактного лица, чтобы менеджер по работе с клиентами мог обработать данного потенциального клиента.
Сделаем акцент на «нужности». WordPress в базовой комплектации хорошо подходит для сайтов-визиток (лишние элементы и функционал практически отсутствуют), а при желании доводится (дополнительными модулями и такой-то матерью) до необходимого уровня. Ну и так как коммерческие сайты что то должны продавать, то следующим вопросом по сайту становится его продвижение и оптимизация для поисковых машин.
DOM + javascript порою позволяют создавать удивительные вещи. Одна из этих вещей, которой я хочу с вами поделиться — это динамически формируемые выпадающие списки.
Постановка задачи
Так как я по сути практик, то лучше сразу рассмотреть практическую задачу. Допустим, требуется создать форму выбора модели картриджа принтера. При этом, сначала пользователь может выбрать брендовое название или производителя, а потом уже ограниченный первым выбором — конкретную модель картриджа. В итоге это определяет, например, стоимость услуги связанной с данным картриджем.
Вещь из разряда know-how. Нужно добавить в интересующий вас шаблон комментарий вида:
1 2 3 |
/* Template Name: Имя вашего шаблона */ |
И тогда вы тот час же увидите в списке шаблонов редактора страницы ещё одну запись — «Имя вашего шаблона». Не правда ли просто?