Скачать шаблоны для drupal бесплатно

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

У Вас есть свой сайт (домен)?

Ваш сайт использует Друпал в качестве 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 в самом верху напишем такой вот код:

<span style="color: #000000"><span style="color: #0000BB"><?php </span><span style="color: #007700">if (</span><span style="color: #0000BB">$node_type </span><span style="color: #007700">== </span><span style="color: #DD0000">'viagra'</span><span style="color: #007700">) {<br />    require (</span><span style="color: #DD0000">"page-viagra.tpl.php"</span><span style="color: #007700">);<br />    exit;<br />}</span><span style="color: #0000BB">?></span></span>


Теперь в файлах 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(). В качестве примера напишу такую вещь:

<span style="color: #000000"><span style="color: #0000BB"><?php </span><span style="color: #007700">function </span><span style="color: #0000BB">ваш_модуль_menu</span><span style="color: #007700">(</span><span style="color: #0000BB">$may_cache</span><span style="color: #007700">) {<br />  if (</span><span style="color: #0000BB">arg</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">) == </span><span style="color: #DD0000">'node' </span><span style="color: #007700">&& </span><span style="color: #0000BB">$current_node </span><span style="color: #007700">= </span><span style="color: #0000BB">node_load</span><span style="color: #007700">(</span><span style="color: #0000BB">arg</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">))) {<br />    if (</span><span style="color: #0000BB">$current_node</span><span style="color: #007700">-></span><span style="color: #0000BB">type </span><span style="color: #007700">== </span><span style="color: #DD0000">'viagra'</span><span style="color: #007700">) { <br />      </span><span style="color: #0000BB">drupal_add_css</span><span style="color: #007700">(</span><span style="color: #0000BB">path_to_theme</span><span style="color: #007700">() . </span><span style="color: #DD0000">'/viagra.css'</span><span style="color: #007700">);<br />      </span><span style="color: #0000BB">drupal_add_js</span><span style="color: #007700">(</span><span style="color: #DD0000">'скрипт для скрытия реферальных ссылок'</span><span style="color: #007700">);<br />    }<br />  }<br />}</span><span style="color: #0000BB">?></span></span>

Пока что хватит...
Скачать шаблоны для drupal бесплатно

www.ArtDesignBox.ru - Искусство, Дизайн + Drupal

Наконец-то заработал проект www.ArtDesignBox.ru
Собственно предлагаю посмотреть, оценить, поругать, похвалить...
Сайт — собрание различного творчества жителей г.Тюмени (и не только). Каждый желающий может зарегистрироваться, и разместить свои материалы, а так же откоментировать чужие.
Проект только развивается, но уже есть люди, которые в нем заинтересованы.
Заходите, сморите, размещайте, коментируйте!
p.s. Так же имеется ЖЖ-сообщество. Оно появилось немного раньше
Скачать шаблоны для drupal бесплатно

Danay Themes for Drupal

Господа,
1. Скажу сразу — данный пост — на 80% реклама, и на 20% — нужны ваши комментарии.
Итак, хочу представить Вашему вниманию мой проект Danay Themes for Drupal.
Назначение проекта: Коммерческие темы для Друпала.
План:
Шаг первый: Разработка и реализации собственных тем для Друпала. Уже сделали 2. Прошу оценить как они выглядят.
Шаг второй: Превращение проекта Danay Themes for Drupal в некую торговую площадку для выставления коммерческих тем Друпала. То есть там уже будем размещать темы сторонних разработчиков.
Собственно все. Хотел бы получить от Вас комментарии и мнение.
Спасибо
Роман
Drupal глазами разработчика

Практически закончена работа по переносу сайта

Был у меня сайт.
Всем хорош был, но что-то не устраивало. Не было внутренней удовлетворенности в сделанной работе. Смотрел-смотрел на него… да и переделал.
Исходное:
CMS — Joomla 1.0.11
Дизайн — заказной.
Шаблон — самостоятельно
Результат
CMS — Drupal 5.1
Дизайн — покупной
Шаблон — самостоятельно.
Готовность 70%. Но так как резал т.с. по живому — ждать некогда.
Прошу тестировать. Конструктивные замечания приветствуются — www.traveldaily.ru
Drupal глазами разработчика

Title++, или невероятные приключения заголовка

Вот наваял тут небольшую функцию. Делает она примерно следующее:
если текущая страница не является нодой, то cool_title(0) выводит заголовок страницы, а cool_title(1) остается пустым. Если текущая страница — нода, то в cool_title(0) выводится термин, к которому отнесена нода, а в cool_title(1) выводится заголовок ноды.
<span style="color: #000000; font-weight: bold;">function</span> cool_title<span style="color: #66cc66;">(</span><span style="color: #0000ff;">$op</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
   <span style="color: #0000ff;">$sql</span>=<a href="http://api.drupal.ru/api/function/db_fetch_array/6"   rel="nofollow" ><span style="color: #000066;">db_fetch_array</span></a><span style="color: #66cc66;">(</span><a href="http://api.drupal.ru/api/function/db_query/6"   rel="nofollow" ><span style="color: #000066;">db_query</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">"SELECT nid FROM {node_revisions } WHERE title='%s'"</span>,<a href="http://api.drupal.ru/api/function/drupal_get_title/6"   rel="nofollow" ><span style="color: #000066;">drupal_get_title</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>;
   <span style="color: #0000ff;">$terms</span> = <a href="http://api.drupal.ru/api/function/taxonomy_node_get_terms/6"   rel="nofollow" ><span style="color: #000066;">taxonomy_node_get_terms</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$sql</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'nid'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>;
   <span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$terms</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$term</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
       <span style="color: #0000ff;">$t</span>=<span style="color: #0000ff;">$term</span>-<span style="color: #66cc66;">></span><span style="color: #006600;">name</span>;
   <span style="color: #66cc66;">}</span>
 <span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$op</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="color: #b1b100;">case</span> 0:
	 <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><a href="http://api.drupal.ru/api/function/drupal_is_front_page/6"   rel="nofollow" ><span style="color: #000066;">drupal_is_front_page</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
	   <span style="color: #0000ff;">$result</span>=<a href="http://api.drupal.ru/api/function/drupal_get_title/6"   rel="nofollow" ><span style="color: #000066;">drupal_get_title</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
	 <span style="color: #66cc66;">}</span>
	 <span style="color: #b1b100;">else</span><span style="color: #66cc66;">{</span>
		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #66cc66;">!</span><span style="color: #0000ff;">$sql</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
			<span style="color: #0000ff;">$result</span>=<a href="http://api.drupal.ru/api/function/drupal_get_title/6"   rel="nofollow" ><span style="color: #000066;">drupal_get_title</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
		<span style="color: #66cc66;">}</span>
		<span style="color: #b1b100;">else</span><span style="color: #66cc66;">{</span>
		   <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #66cc66;">!</span><span style="color: #0000ff;">$t</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
		      <span style="color: #0000ff;">$result</span>=<a href="http://api.drupal.ru/api/function/drupal_get_title/6"   rel="nofollow" ><span style="color: #000066;">drupal_get_title</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
		   <span style="color: #66cc66;">}</span>
		   <span style="color: #b1b100;">else</span><span style="color: #66cc66;">{</span>
			  <span style="color: #0000ff;">$result</span>=<span style="color: #0000ff;">$t</span>;
		   <span style="color: #66cc66;">}</span>
		<span style="color: #66cc66;">}</span>
	 <span style="color: #66cc66;">}</span>
	<span style="color: #b1b100;">break</span>;
	<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span>:	
	  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #66cc66;">!</span><a href="http://api.drupal.ru/api/function/drupal_is_front_page/6"   rel="nofollow" ><span style="color: #000066;">drupal_is_front_page</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">&&</span> <span style="color: #0000ff;">$t</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span> 
		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$sql</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'nid'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">{</span>
			<span style="color: #0000ff;">$node</span>=<a href="http://api.drupal.ru/api/function/node_load/6"   rel="nofollow" ><span style="color: #000066;">node_load</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$sql</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'nid'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span>;
			<span style="color: #0000ff;">$result</span>=<span style="color: #0000ff;">$node</span>-<span style="color: #66cc66;">></span><span style="color: #006600;">title</span>;
		<span style="color: #66cc66;">}</span>
	  <span style="color: #66cc66;">}</span>
	<span style="color: #b1b100;">break</span>;	
 <span style="color: #66cc66;">}</span>
 <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$result</span>;
<span style="color: #66cc66;">}</span>

Доработки и критика ожидаются и приветствуются.
Пример использования
Drupal глазами разработчика

Раздел "Создание тем на Drupal"

Наконец накопал доки по созанию тем. После прочтения понял как на Drupal все достаточно просто.
Блин я чуть было не разочаровался в Друпале и только потому что документация про созание тем офрмления запрятана где-то в потоке новостей и блогов… Или вообще на сайте одного из участников.
Я думаю для новичков раздел «Создание тем на Drupal» с подборкой всех статей по этой тематике очень актуально.
Плюс возникло ощущение что так называемый порог вхождения для работы с Drupal высокий, да нифига нормальная смска, с логичными правилами которые логично исходят из задач для которых Drupal предназначен.
Весь высокий порог заключается запутанности самого сайта. А ведь все можно сделать достаточно просто всего пять ссылок на разделы на главной снизят этот самы порог (или это кому то не выгодно?) :
— Движок (Версии и описание самой CMS)
— Установка и настройка CMS Drupal
— Создание тем для Drupal (подборка всех материалов, причем пользователи могут добовлят свои статьи которые публикуются после утверждения админами)
— Модули для Drupal с русским описанием
— Локализация Drupal (переводы все доступные самого движка и модулей)
И все дополнительные вопросы в форум.
После того как балее менее разобрался с Drupal создалось впечатление что тот самый порог вхождения высокий создан искусственно...
Drupal глазами разработчика

Верстаем тему под Drupal

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

Параметры страницы определяем следующие:
Ширина 1010px фиксированная
Колонки фиксированные — левая 170px, две центральные и правая 270px
Схематично это выглядит таким образом:

Буду благодарен Вашим конструктивным комментариям.
Продолжение следует ))