Подскажите как вывести несколько полей из БД на страничку в Друпал 7, есть данный модуль Цитат на сайте который выводит рандомную цитату один раз в день.
В типах материала добавил поле автора цитаты(раньше этого поля не было в админке)
При публикации соответственно заполняю поле цитаты и поле автора, цитата выводится, автор нет, так как его поле не описано в модуле. Буду признателен за помощь.
Выделил часть кода где выводит поле цитаты на страничку , мне нужно добавить вывод поля автора этой цитаты (field_name_of_book)
Я разобрался как вывести кустарным способом поле автора.
<?php
function quote_of_the_day_block_info() {
$blocks['quote'] = array(
'info' => t('Quote of the day'),
'cache' => DRUPAL_NO_CACHE,
'weight'=> -99,
'status' => TRUE,
'region' => 'content',
'visibility' => BLOCK_VISIBILITY_LISTED,
'pages' => '<front>',
);
return $blocks;
}
// Опредиление имяни блока, и его содержания
function quote_of_the_day_block_view($delta = '') {
$block = array();
if ($delta == 'quote') {
$block = array(
'subject' => '',
'content' => quote_of_the_day_print_term(),
);
};
return $block;
}
function quote_of_the_day_print_term() {
$date = date("Y-m-d");
$query = db_select('quote', 'q');
$query->fields('q', array('node_id'));
$query->condition('q.date', $date, '='); // раз в день
$result = $query->execute();
$results_id = array();
foreach($result as $row)
array_push($results_id, $row->node_id);
$result = $row->node_id;
$one_res_id = [$results_id[$rand_results_id]];
$two_res_id = 602;
$res_id_arr = array_push($one_res_id, $two_res_id);
$rand_res_id = array_rand($one_res_id, 1);*/
$node = node_load($result);
$output = field_view_field('node', $node, 'field_quotation_text');
$output = render($output);
return $output;
}
/**
* Implements hook_node_insert().
*/
function quote_of_the_day_node_insert($node) {
if ($node->type == 'rundom_text') {
db_merge('quote')
->key(array('node_id' => $node->nid))
->fields(array(
'node_id' => $node->nid,
'worked_quote' => NULL,
'date' => NULL,
))
->execute();
}
}
function quote_of_the_day_node_delete($node) {
if ($node->type == 'rundom_text') {
db_delete('quote')
->condition('node_id', $node->nid)
->execute();
}
}