Колба
Добро пожаловать на форум! rss 1 Май 2024, 23:31:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
На правах рекламы
   Начало   Линейки Помощь Войти Регистрация  
натуральный крем
Страниц: [1]
  Печать  
Автор Тема: ДрУпал  (Прочитано 4812 раз)
Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« : 22 Апрель 2010, 12:02:18 »

Drupal (ДрУпал) — это система управления сайтом (CMS), а также среда для создания вебприложений (CMF).

Посредством этой системы можно строить сайты и вебприложения различного назначения и сложности. Интерфейс пользователя позволяет управлять сайтами на Drupal без знаний HTML, вебвёрстки и языков программирования. Drupal разрабатывается международной командой разработчиков, как программное обеспечение с открытыми исходными текстами, защищенными общественной лицензией GNU.

Международный сайт проекта — http://drupal.org
Русскоязычное сообщество - http://drupal.ru
Главный Сайт: http://api.drupal.ru
Очень Полезный Блог http://remage.su
Рецепты создания сайто на Друпал: http://drupalcookbook.ru
http://www.drupalka.ru

А я, как неопытная хозяйка, все еще путаюсь, и порой забываю простейшие вещи (промыть макароны, ага), поэтому для себя и таких, как я, завожу эдакий кулинарный блокнот. (три "п" - почистить, посолить, подкислить...).
« Последнее редактирование: 19 Май 2010, 15:32:40 от Ласочка »

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #1 : 22 Апрель 2010, 15:16:03 »

1. Установка Друпал с одновременной русификацией.

Получить перевод с drupaler.ru
Открыть страницу: http://drupaler.ru/translate/languages/ru/export .
Ввести название проекта: "drupal".
Выбрать Релиз (Release) - укажите вашу версию Друпал.
Указать Тип экспорта(Type of export) - перевод(Translation).
Выбрать Формат (Format used) - Drupal 6 package format.
Сделать Экспорт(Export).
Автоимпорт перевода при установке Drupal

Локализация "стандартной" поставки Drupal. Установка происходит на русском языке, после установки русский является языком по умолчанию.
Сделать экспорт перевода с drupaler.ru как описано выше
Полученный файл вместе с дистрибутивом Drupal распаковать в корень будущего сайта.
Установить права доступа к распакованным файлам (644) и папок (755). Если этого не сделать - автоимпорт перевода не сработает.
Установить Друпал обычным образом, но выбрать русский язык во время установки. При этом установка будет уже на русском языке.

Установка в общем случае выполняется так:
Получить архив дистрибутива
Распаковать его с нужную папку
Создать базу данных и пользователя этой базы данных для сайта
Открыть в браузере адрес будущего сайта
Следуя иструкциям установить Друпал.
Перейти к настройкам сайта.

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #2 : 19 Май 2010, 15:32:10 »

2 сниппета для вывода в блоке материалов определенного типа.

1) Заданное количество материалов:

<?php
unset ($output);
$n=3;//Количество элементов в списке
//Выводим блок только при просмотре ноды. При редактировании не выводим:
if (arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $sql="SELECT n.nid FROM {node} AS n
        WHERE n.status=1 AND n.type='reklama' LIMIT %d";
  $result = db_query($sql, $n);
  while ($anode = db_fetch_object($result)) {
    $node = node_load($anode->nid);
    $output .= '<div class="node"><h3 class="title">'.$node->title.'</h3>'. $node->body.'</div>';
  }
  if ($output)  echo $output;
}
?>

2. Тизеры или весь материал с пейджером:

тавить какой-либо один. Количество выводимых публикаций - 5, меняем на нужное по потребностям.

<?php

$sql = pager_query(db_rewrite_sql(" 
SELECT n.nid, n.title, n.created
FROM {node} n
WHERE n.promote = 1
AND (n.type = 'story' OR n.type = 'page') /* Указываем нужные для вывода типы материалов.*/
ORDER BY n.created DESC /* Порядок вывода публикаций: по дате создания от самых новых к самым старым. */
"), 5); /* Количество публикаций на одну страницу. */

while (
$node = db_fetch_object($sql)
)
{
$output .= node_view(node_load(array('nid' => $node->nid)), 1, 0); /* Вторым параметром функции node_view в примере указано 1(TRUE), то бишь выводит тизеры. При указание 0(FALSE), соответственно, выводиться будет весь текст материала полностью.*/
}

$output .= theme('pager', NULL, 5);
print $output;
?>

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #3 : 1 Октябрь 2010, 10:24:35 »

Чтобы скрыть хлебные крошки, в css:
.breadcrumb {
display:none;
}

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #4 : 10 Октябрь 2010, 02:54:07 »

http://ezh-leon.ru/jquery-v-drupale

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #5 : 9 Ноябрь 2010, 11:11:13 »

Drupal. Хитрости таксономии
Submitted by direqtor on Сб, 04/26/2008 - 03:01 Заметки начинающего друпаллурга drupal таксономия хак

Умолчально предлагаемый друпалом способ выдачи нод принадлежащих термину таксономии прост, но все-таки достаточно убог. Формируем адрес taxonomy/term/N (N - номер термина) и получаем список нод принадлежащих ему.

Но подобная плоская иерархия редко бывает востребована. Поэтому сразу начинаешь искать некоторые дополнительные возможности, вроде Vocablary Index, Taxonomy Menu и прочие.
Правда, многие возможности уже заложены в сам модуль таксономии, хотя и редко упоминаются.

Используются эти возможности специально сформированным адресом страницы после term
Все ноды из нескольких категорий

По адресу taxonomy/term/N1+N2 мы получим все ноды принадлежащие сразу двум терминам таксономии за номерами N1 и N2. Число терминов таксономии в адресе может быть любым. Знак "плюс" выступает в качестве оператора "ИЛИ". В качестве разделителя также срабатывает и "пробел", но я думаю, что это не лучший символ для использования в адресах веб-страниц.
Только ноды находящиеся сразу в нескольких категориях

Адрес taxonomy/term/N1,N2 отображает только те ноды, которые одновременно принадлежат и термину за номером N1, и термину за номером N2. Как и выше, число терминов таксономии может быть любым. Знак "запятая" выполняет роль оператора "И".
Все ноды из подчиненных категорий

Пусть наш словарь таксономии содержит иерархический список с категориями и подкатегориями. Ноды прикрепляются к подкатегориям. Но здесь сразу встает задача показать в категориях все ноды из принадлежащих им подкатегорий. Такая возможность также предусмотрена в Drupal.

Адрес taxonomy/term/N/1 говорит модулю таксономии, что надо показать все ноды находящиеся в иерархии термина N на глубине 1. Адрес taxonomy/term/N/2 покажет все ноды принадлежащие терминам, подчиненным термину за номером N до глубины 2 включительно. И наконец, taxonomy/term/N/all выдаст ноды принадлежащие всем подчиненным терминам таксономии предком которых является N. Также во всех случаях будут показаны ноды принадлежащие самому термину N.
Комбинации нескольких терминов и глубины иерархии.

Оба вышеуказанных способа можно комбинировать. Примерно так:

taxonomy/term/N1+N2/2
taxonomy/term/N1+N2+N3/all
taxonomy/term/N1,N2,N3/2
taxonomy/term/N1,N2/all

Надеюсь уже понятно, что вы увидите по таким адресам.

Примечание.

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

И не забудьте, что N, N1, N2 и N3 - это номера (идентификаторы) терминов таксономии, а не буквы с индексами.
Изменяем оператор И

Выше я уже говорил, что использование пробела в качестве разделителя терминов таксономии в адресе - это не самая лучшая идея. Данный символ в URL-адресах преобразуется в кодовую последовательность со знаком процента %20.
Вряд ли адрес вида taxonomy/term/25%2011%203/all можно назвать "чистым". Но поскольку есть альтернатива в виде знака "плюс", то эту проблему можно считать снятой.

С запятой происходит та же история. В адресах она преобразуется в %2C, что тоже плохо выглядит: taxonomy/term/25%2C11%2C3/all. И тут как назло, альтернативы не имеется.

Желающим исправить данную неприятность предлагаю небольшой хак модуля Taxonomy.

Разбор аргумента с номерами терминов таксономии производится в функцией taxonomy_terms_parse_string () которая находится в файле modules/taxonomy/taxonomy.module.
Выглядит она следующим образом (Drupal 6):

function taxonomy_terms_parse_string($str_tids) {
  $terms = array('operator' =&gt; '', 'tids' =&gt; array());
  if (preg_match('/^([0-9]+[+ ])+[0-9]+$/', $str_tids)) {
    $terms['operator'] = 'or';
    // The '+' character in a query string may be parsed as ' '.
    $terms['tids'] = preg_split('/[+ ]/', $str_tids);
  }
  else if (preg_match('/^([0-9]+,)*[0-9]+$/', $str_tids)) {
    $terms['operator'] = 'and';
    $terms['tids'] = explode(',', $str_tids);
  }
  return $terms;
}


Нас интересуют седьмая и девятая строчки. Добавим туда еще один знак "минус" и заменим функцию разбивающую строку на элементы.
function taxonomy_terms_parse_string($str_tids) {
  $terms = array('operator' => '', 'tids' => array());
  if (preg_match('/^([0-9]+[+ ])+[0-9]+$/', $str_tids)) {
    $terms['operator'] = 'or';
    // The '+' character in a query string may be parsed as ' '.
    $terms['tids'] = preg_split('/[+ ]/', $str_tids);
  }
  else if (preg_match('/^([0-9]+[-,])*[0-9]+$/', $str_tids)) {
    $terms['operator'] = 'and';
    $terms['tids'] = preg_split('/[-,]/', $str_tids);
  }
  return $terms;
}

Теперь для формирования страницы на которой узлы принадлежат нескольким терминам таксономии мы можем использовать адреса вида:
taxonomy/term/N1-N2-N3/all
<!--
Изменяем глубину просмотра иерархии по умолчанию

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

Подача материалов (нод) на страницах таксономии раздражает одним моментом. Термин таксономии из заголовка повторяется в каждой ноде да еще и с гиперссылкой на эту же страницу.

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

.terms .links .active {
  display: none;
}


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

.terms .links {
  margin-top: 0;
}

http://shaman.asiadata.ru/node/84

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #6 : 23 Ноябрь 2010, 18:37:52 »

http://content-management-systems.info/drupal

http://content-management-systems.info/node/1074

Шаблоны страниц


Можно создавать шаблоны для формирования отдельных страниц. Шаблоны страниц могут быть основаны на системном адресе страницы. Например если вы находитесь на странице node/1/edit, то шаблоны будут искаться в следующей последовательности:

page-node-edit.tpl.php
page-node-1.tpl.php
page-node.tpl.php
page.tpl.php


Если вы находитесь на странице http://example.com/tracker, то шаблоны будут искаться в следующей последовательности:

page-tracker.tpl.php
page.tpl.php

Если вы находитесь на странице http://example.com/user/1, то шаблоны будут искаться в следующей последовательности:

page-user-1.tpl.php
page-user.tpl.php
page.tpl.php


Если вы находитесь на странице http://example.com/taxonomy/term/1, то шаблоны будут искаться в следующей последовательности:

page-taxonomy-term-1.tpl.php
page-taxonomy-term.tpl.php
page-taxonomy.tpl.php
page.tpl.php

Если вы находитесь на странице http://example.com/, то шаблоны будут искаться в следующей последовательности:

page-front.tpl.php
page.tpl.php


Отметьте: шаблоны ищутся основываясь на системных адресах. Т.е. если вы задали альтернативный адрес вручную или используете модуль Pathauto, то шаблоны всё равно будут искаться по системному адресу и альтернативный адрес использоваться не будет.

Если вы хотите переключать шаблоны страниц основываясь на определённых правилах (например роли пользователя), то вы должны определить эти правила в шаблоне template.php, определив переменной $vars['template_files'] массив возможных шаблонов.
« Последнее редактирование: 25 Ноябрь 2010, 10:01:01 от Ласочка »

Ласочка
Санитар леса
Global Moderator
*****
Пол: Женский
Сообщений: 3108



« Ответ #7 : 7 Декабрь 2010, 12:05:04 »

Отключить комментарии для нод определённого типа

Кочерыжкин
Неофит
*
Сообщений: 67


« Ответ #8 : 17 Октябрь 2018, 18:57:39 »

Учу сейчас верстку возьму на заметку
Страниц: [1]
  Печать  
 
Перейти в:  


Rambler\'s Top100     Рейтинг@Mail.ru  
Powered by SMF 1.1.15 | SMF © 2006-2008, Simple Machines | Форум "Колба" © 2009-2010 | Сайт разработан L-Studio | Карта сайта
Страница сгенерирована за 0.088 секунд. Запросов: 21.