Пересобрать $content $vars[‘content’] Drupal

Вот понадобилось пересобрать переменую $content в таксомании,
ссылка таксомании была такая
taxonomy/term/1
на выходе должен был получить вот такой html одной записи

<div class="news-item">
				  <div class="date"><i>04</i>апр</div>
				  <div class="news-block">
					<p class="title"><a href="node/7">программирования с помощью метода эллипсоидов. С самого начала большое внимание будет уделяться связи линейного программирования с теорией целочисленного программирования, комбинаторикой и оптимизацией.
				</p>
					<p class="more"><a "="" href="node/7">Читать далее</a></p>
				  <div class="line"></div>
				</div>
				</div>


ну и как всегда долго не тяну, беру бубен, траясу ним несколько раз, в голову приходит мысль как разпороть кишки DRUPALу,
Беру мечь джедая под названиям Nodepad++ открываю файл template.php (он находиться в папке с шаблоном, если нет то создаем его)
И вписываем туда вот такую функцию

    if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) == '1')
    {
		$month["01"] = "янв";$month["02"] = "фев";$month["03"] = "март";$month["04"] = "апр";$month["05"] = "май";$month["06"] = "июнь";$month["07"] = "июль";$month["08"] ="август";$month["09"] = "сент";$month["10"] = "окт";$month["11"] = "ноя";$month["12"] = "дек";
		if ($title): print '<h1>'. $title .'</h1>'; endif;
			$result = taxonomy_select_nodes(array(arg(2)));
			while ($node = db_fetch_object($result)) {
			  $output .= '
				<div class="news-item">
				  <div class="date">' . date("<\i>d</\i>",$node->created).$month[date("m",$node->created-1)]. '</div>
				  <div class="news-block">
					<p class="title">'.l($node->title, 'node/'.$node->nid).'</p>
					' . node_load($node->nid)->teaser . '
					<p class="more">'.l(t('Read more'), 'node/'.$node->nid).'</p>
				  <div class="line"></div>
				</div>
				</div>
			  ';
			}
			$vars['content'] = $output;
	}}

Если немного подробней тогда вот так
эта строчка определяет какой

if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) == '1')

Отбирает что будет обрабатываться только конкретной таксомании
Далее

$result = taxonomy_select_nodes(array(arg(2)));

Выбираем свойства таксомании, Выбируться только title, create, id
а вот так получаем тизер

node_load($node->nid)->teaser

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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