Как Сделать Landing Pages (LP) На Друпале Без Ущерба Для Здоровья

Главные вкладки

Аватар пользователя beliy_snow beliy_snow 20 июня 2007 в 10:18

У Вас есть свой сайт (домен)?
Ваш сайт использует Друпал в качестве CMS?
Вы занимаетесь рекламой?
Вы знаете что такое Landing Pages?
Вам нужно сделать одну (несколько) Landing Page(s)?
Вы шарите в HTML, PHP, CSS?
Нет?! Тогда не читайте этот текст...

Допустим мы будем продавать Виагру. У нас есть несколько проблем (задач).
Размещая рекламу в PPC системах некоторые из них следят, чтобы URL в объявлении совпадал с URL'ом назначения. Следовательно в объявлении нам нужно указать свой собственный сайт.
Имея свой собственный сайт, нам нужно, чтобы дизайн LP совпадал с дизайном реального магазина, продающего Виагру, чьим партнером вы являетесь. и ссылки с вашей LP вели на сайт магазина, при чем ссылки должны быть с указанием фашего реферального кода, иначе зачем это вообще все надо?
Раз у нас есть друпал - воспользуемся его инструментами для создания нужных нам LP.

Давайте с помощью нескольких шагов сделаем себе LP.
Шаг 1. Нам необходим новый тип контента. Назовем его viagra. Раз есть новый тип контента - нам нужен дизайн, применимый исключительно к этому типу. Поэтому.
Шаг 2. В папке темы вашего сайта создадим 2 новых файла: node-viagra.tpl.php и page-viagra.tpl.php. С первым проблем нет, друпал сам сделает так, чтобы при отображении контента с типом viagra вызывался файл шаблона node-viagra.tpl.php а вот со вторым придется повозиться.
Шаг 3. Перекроем кислород стандартному шаблону страницы следующим образом.
В файле template.php в функции _phptemplate_variables введем новую переменную: $vars['node_type'] = $vars['node']->type;
В файле page.tpl.php в самом верху напишем такой вот код:
<?php if ($node_type == 'viagra') {
require ("page-viagra.tpl.php");
exit;
}?>
Теперь в файлах page-viagra.tpl.php и node-viagra.tpl.php рисуем тот дизайн, который нам нужен без потери функционала оригинального сайта.

Несколько замечаний и пожеланий.
1. Когда создаете ноды типа viagra пишите алиас ноды в следующем формате: "viagra/page-alias" чтобы до них можно быьт достучаться по адресу www.yourdomen.com/viagra/page-alias. Чтобы не запутаться.
2. Если вы используете Site dependand module (ещё не используете?!), то очень полезным будет использовать хук hook_menu(). В качестве примера напишу такую вещь:
<?php function ваш_модуль_menu($may_cache) {
if (arg(0) == 'node' && $current_node = node_load(arg(1))) {
if ($current_node->type == 'viagra') {
drupal_add_css(path_to_theme() . '/viagra.css');
drupal_add_js('скрипт для скрытия реферальных ссылок');
}
}
}?>

Пока что хватит...

Комментарии