Links 2,3,4 (не Рамштайн)

  • strict warning: Declaration of views_handler_field_user_name::init() should be compatible with views_handler_field_user::init(&$view, $data) in /var/www/shvabrashvabr.ru/sites/all/modules/views/modules/user/views_handler_field_user_name.inc on line 61.
  • strict warning: Declaration of views_handler_argument_many_to_one::init() should be compatible with views_handler_argument::init(&$view, $options) in /var/www/shvabrashvabr.ru/sites/all/modules/views/handlers/views_handler_argument_many_to_one.inc on line 169.


Хочу, чтобы под каждым сообщением была такая штука:

Поэтому мне очень не понравилась переменная $Links...но чую — что-то нужно делать подругому..
Отправляемся в template.php, чтобы добыть переменные:
Голосование:
/*
* Голосование для ноды
*/
function XXXXXthemeXXXXX_vote_up_down_widget_alt($cid, $type) {
global $user;
drupal_add_css(drupal_get_path('module', 'vote_up_down') .'/vote_up_down.css');
drupal_add_js(drupal_get_path('module', 'vote_up_down') .'/ajax_vote_up_down.js');

if (user_access('view up/down votes')) {
$output = '';
$output .= theme('vote_up_down_points_alt', $cid, $type);
$output .= '';
$output .= '';
if (user_access('use vote up/down') && ($user->uid || variable_get('vote_up_down_anonymous_vote', 0))) {
$criteria = array('content_type' => $type, 'content_id' => $cid, 'uid' => _vote_up_down_get_uid());
$user_vote = votingapi_select_single_vote_value($criteria);

if ($user_vote > 0) {
$class = 'vote-up-act';
$class2 = 'vote-down-inact';
}
else if ($user_vote < 0) {
$class = 'vote-up-inact';
$class2 = 'vote-down-act';
}
else {
$class = 'vote-up-inact';
$class2 = 'vote-down-inact';
}

$output .= ''. l('', "vote_up_down/$type/$cid/1", array('class' => $class, 'title' => t('Vote up')), drupal_get_destination(), NULL, FALSE, TRUE) .'';

$output .= ''. l('', "vote_up_down/$type/$cid/-1", array('class' => $class2, 'title' => t('Vote down')), drupal_get_destination(), NULL, FALSE, TRUE) .'';

}
else {
$output .= '';
$output .= '';
}

$output .= '';

return $output;
}
}

function XXXXXthemeXXXXX_vote_up_down_points_alt($cid, $type) {
$criteria = array('content_type' => $type, 'content_id' => $cid, 'value_type' => 'points', 'tag' => variable_get('vote_up_down_tag', 'vote'), 'function' => 'sum');
$vote_result = votingapi_select_single_result_value($criteria);

if ($vote_result) {
$output = ''. $vote_result .'';
}
else {
$output = '0';
}

return $output;

}

Ещё часть переменных изменяем в темплейт.пхп
(верхняя часть: до $Links гордо с###ена отсюда:www.hotel-prog.ru):

/******************************************************
* Переопределение переменных для вывода материала (ноды)
******************************************************/
function XXXXXthemeXXXXX_preprocess_node(&$variables,$hook) {
//drupal_set_message(''.print_r($variables,1).'');
/*
* Если это не вывод ноды и материал не помещается полностью в вывод,
* то убираем ссылку на добавление комментария, так как
* не прочитав материал целиком, не логично давать коментировать :)
*/
if($variables['page']==0 && isset($variables['node']->links['node_read_more'])) {
unset($variables['node']->links['comment_add']);
}
/*
* Если это тизер и есть линк на node_read_more
* то формируем свою ссылку XXXXXthemeXXXXX_node_read_more
*/
if(isset($variables['node']->links['node_read_more']) && $variables['teaser']==1){
$variables['XXXXXthemeXXXXX_node_read_more']=l(
' » '.$variables['node']->links['node_read_more']['title'],
$variables['node']->links['node_read_more']['href'],
array('attributes'=>array(
'title'=>$variables['node']->links['node_read_more']['attributes']['title'],
'class'=>'node-more-read')
)
);
/*
* Убираем лишнии параграф (теги из тизера)
*/
$variables['content']=preg_replace('#\\s*(.*?)\s*\<\/p\>#si','\\1',$variables['node']->teaser);

}

/*
* Формируем дополнительные переменные, которые мы будем использовать в node.tpl.php вместо переменной links
*/
/******* User - date ********/
$variables['stamp_date']=$variables['date'];
$variables['stamp_user']=$variables['name'];
/******* Blog ********/
$variables['blog_url'] = 'blog/'.$uid;
$variables['blog_url'] = drupal_get_path_alias($blog_url);
$variables['stamp_blog'] = ' |Блог|';
/******* TAG Cloud ********/
$variables['stamp_tags'] = '';
$variables['stamp_tags'] .= '';
$variables['stamp_tags'] .= $terms;
$variables['stamp_tags'] .= '';
$variables['stamp_tags'] .= '';
}

Остальные переменные у меня остались жить в фале node.tpl.php - верхняя часть:

<?php

/******* Comments ********/
$stamp_comments = '— ';
$stamp_comments .= $comment_count;
$stamp_comments .= '('.comment_num_new($node->nid).')';
$stamp_comments .= '';

/******* Vote ********/
$stamp_vote = '';
$stamp_vote .= theme("vote_up_down_widget_alt", $node->nid, 'node');
$stamp_vote .= '';

/******* TAG Cloud ********/
$stamp_tags = '';
$stamp_tags .= '';
$stamp_tags .= $terms;
$stamp_tags .= '';
$stamp_tags .= '';
/******* Unpublished ********/
if ($unpublished) $stamp_unpublished = '' .t('Unpublished') .'';

/******* STAMP ********/
$node_stamp = '';
$node_stamp .= $stamp_vote;
$node_stamp .= '';
$node_stamp .= $stamp_tags;
$node_stamp .= $stamp_date;
$node_stamp .= ' — ';
$node_stamp .= $stamp_user;
$node_stamp .= $stamp_blog;
$node_stamp .= $stamp_comments;
$node_stamp .= $stamp_unpublished;
$node_stamp .= '';
$node_stamp .= '';

Формируем ссылку по принципу:
Коллективные блог → Название,
а если коллективного блога нет, тогда:
Автор → Название

/******* TITLE -> URL ********/
if(isset($node->og_groups)){
foreach($node->og_groups as $k) {
$gid = $k;
}
$group_url = "node/" . $gid;
$group_url = drupal_get_path_alias($group_url);}

if ($page == 0):
$node_title = '';
if(isset($og_links)):
$node_title .= '';
$node_title .= $node->og_groups_both[$gid];
$node_title .= '';
else:
$node_title .= $name;
endif;
$node_title .= '→';
$node_title .= '';
$node_title .= $title;
$node_title .= '';
$node_title .= '';
endif;
?>
и соответственно основа файла node.tpl.php:
nid; ?>" class="blog node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php if ($picture) print $picture; ?>
<?php print $node_title ?>
<?php print $content .$XXXXXthemeXXXXX_node_read_more;?>
<?php print $node_stamp ?>


К сожалению моих знаний не хватает, чтобы перенести все переменные в template.php. Буду благодарен за советы как это сделать, . Оно конечно работает и так, но хочется, чтобы всё было "правильно".
Внешний вид контента на данный момент у меня такой: http://linux-way.ru/upload/all.gif (просто нарезка без особого оформления)
ПС: Ромке за проделаную работу респектище!!!

Комментарии

аватар: cascad

Ничего не понятно! Какие строки на что заменять, куда именно добавлять. А выложите просто изменённые файлы пожалуйста! Очень надо! Ромка, автор темы!

И глупый вопрос: css для того вида нужно выложить?

Думаю это может показаться интересным посетителям :))

Back to top