Этот блог не претендует ни на что, это просто записи, что я делал в процессе изучения друпала, чтобы просто не забыть в каком месте я менял что то.
Новостной блок сделать оказалось не сложно, можно использовать модуль views. Но появилась одна проблема
Theme wizard в views работает только с одной закладкой View Type:List View, а мне нужен Teaser list.
При чем так как новости выводятся через фильтр по термам, а изза модуля Taxonomy_content в новостном блоке формировалось сылка на словарь и на терму, то я закоментил в taxonomy_context.module следущий код на 645 строчке.
<?php
/**
* Theme a list of vocabulary and term links.
*/
/*function theme_taxonomy_context_vocabulary_list($vocabulary) {
$output = '
' . l($vocabulary->name, "taxonomy/vocabulary/$vocabulary->vid") . "
\n";
$output .= "
- \n";
- ' . l($term->name, taxonomy_term_path($term)) . "
foreach($vocabulary->terms as $term) {
$output .= '
\n";
}
$output .= "
\n";
return $output;
}
*/
?>
Не знаю к чему это приведет, но пока работает
Комментарии
Я думаю будет полезен тем кто пользуется друпал не так давно
Мне одним из первых заданий на нем стало создание новосного блока)
От лица всех кому пригодится
Спасибо
если честно, то я сам друпал изучаю примерно неделю. Довольно сложно пока разобраться
не пойму вы внесли изменения в саму функцию theme_taxonomy_context_vocabulary_list ?
а почему вы ее не переопределили?
ядро хакать не хорошо
Да спасибо большое, за замеченаие, действительно лезть в ядро плохо.
Просто я забыл про переопределение функций, слишком много инфы
В общем я раскоментил theme_taxonomy_context_vocabulary_list
создал функцию academia_taxonomy_context_vocabulary_list($vocabulary) в template.php и сделал там условие чтобы обрезались сылки только на главной странице. Ведь полюбому, где нибудь эти линки понадобятся. Выглядело примерно так :
<?php
/**
** Hide vocabulary and terms links in frontpage in NewsBlock**.
*/
function academia_taxonomy_context_vocabulary_list($vocabulary) {
if (strpos($_SERVER['PHP_SELF'],'index.php') == true)
{
return false;
}
else
{
$content = _phptemplate_callback('vocabulary', array('vocabulary' => $vocabulary));
return $content;
}
}
?>
Ну , а сами аутпуты вывел в vocabulary.tpl.php при помощи _phptemplate_callback()
<ul>
<?php foreach($vocabulary->terms as $term) {?>
<li class="vocabulary-list"><?php print l($term->name, taxonomy_term_path($term)) ?> </li>
<?php }?>
</ul>