Tue, 16/07/2013 - 16:25
Дорогие Drupalцы ))) Как можно встроенными средствами(без view ) сделать отбор, чтобы новости в MainContent выводились определенных категорий?
Версия:
Вообще конечно это сделать можно. Самый простой — альтернуть запрос к базе. Но я бы так делать никогда не стала, потому что это извращенство.
/**
* Implements hook_query_TAG_alter().
*/
function YOURMODULE_query_node_access_alter(QueryAlterableInterface $query) {
// Идентификаторы терминов.
$tids = array(8, 11);
// TRUE, если нужно отображать все ноды независимо от флага promote.
$remove_promote_condition = FALSE;
$tables = $query->getTables();
if (in_array(current_path(), array('node', 'rss.xml'))
&& isset($tables['n']) && $tables['n']['table'] == 'node'
&& !$query->hasTag('YOURMODULE_front')) {
if ($remove_promote_condition) {
$conditions = &$query->conditions();
foreach ($conditions as $key => $condition) {
if ($condition['field'] == 'n.promote') {
unset($conditions[$key]);
}
}
}
$query->join('taxonomy_index', 't', 'n.nid = t.nid');
$query->condition('t.tid', $tids, 'IN');
$query->addTag('YOURMODULE_front');
// Только для отладки.
if (function_exists('dpq')) {
//dpq($query);
}
}
Другой способ — реализовать свой hook_menu со своим запросом. В этом случае нужно будет самому заботиться о рендере, кешировании, RSS и ещё о чём-то, о чём я забыла.
Надеюсь, я отбила у вас охоту не использовать Views.
Mon, 12/08/2013 - 19:27
выводились определенных категорий
Я подумал тебе на главной надо бить контент по категориям. Для этого Views в самый раз.
Включаешь Frontend вьюху (выключена по умолчанию) и настраиваешь группировку по полям таксономии.
Tue, 06/08/2013 - 22:19
Все проще) при создании ноды ставить убрать галочку помещено на главную страницу) а через Views шикарно выводятся новостные ленты! http://vk.com/videos-25880726?z=video-25880726_161038873%2Fclub25880726 и там же второе видео
Thu, 01/08/2013 - 14:22
Либо ты осваиваешь нормальный путь (Views) как можно раньше, либо потом страдаешь дольше.
Thu, 01/08/2013 - 12:13