Добрый день!
При добавлении материала типа "Запись в сообщество" выдает такую ошибку:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function vintauge_community_header_group(), 1 passed in /public_html/sites/all/themes/vintauge/templates/page--node--add--post.tpl.php on line 59 and exactly 2 expected in /public_html/sites/all/themes/vintauge/template.php:590 Stack trace: #0 /public_html/sites/all/themes/vintauge/templates/page--node--add--post.tpl.php(59): vintauge_community_header_group(Object(stdClass)) #1 /public_html/includes/theme.inc(1526): include('/home/rc/web/ro...') #2 /public_html/includes/theme.inc(1208): theme_render_template('sites/all/theme...', Array) #3 /public_html/includes/errors.inc(254): theme('maintenance_pag...', Array) #4 /public_html/includes/bootstrap.inc(2622): _drupal_log_error(Array, true) #5 [internal function]: _drupal_excepti in /public_html/sites/all/themes/vintauge/template.php on line 590
Строка 590 в файлу template.php
<?php/*
* Вывод шапки сообщества - используется в шаблоне page--group и page--taxonomy
*/
function vintauge_community_header_group($group, $type)
{
global $user;
$group_image = field_get_items('node', $group, 'field_picture');
$group_image_output = field_view_value('node', $group, 'field_picture', $group_image[0], array('type' => 'image', 'settings' => array('image_style' => '162x162', 'image_link' => 'none',),));
$b = '
<div class="col-md-12 community-header">
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-9">'.
($type== 'post'?'<h2>'.$group->title.'</h2>':'<h1>'.$group->title.'</h1>')
.'</div>
</div>
<div class="row">
<div class="col-md-12 blog-header">';
$b .= render($group_image_output);
$b .= $group->body['ru'][0]['value'];
$m1 = '<div class="community_block">';
if ($user->uid > 0) {
if (!is_user_og($user, $group->nid)) {
$m1 .= l('Подключиться к сообществу', 'group/node/' . $group->nid . '/subscribe/og_user_node', array('attributes' => array('class' => 'link_dashed communty_join')));
} else {
$m1 .= l('Выйти из сообщества', 'group/node/' . $group->nid . '/unsubscribe', array('attributes' => array('class' => 'off_com communty_join')));
}
} else {
$m1 .= '<i class="fa fa-lock"></i>' . l('Войти', 'user', array('attributes' => array('class' => 'link_dashed')));
$m1 .= ' ';
$m1 .= '' . l('Регистрация', 'user/register', array('attributes' => array('class' => 'link_dashed')));
}
$b .= $m1 . '</div></div></div></div>';
return $b;
}
?>
Помогите, пожалуйста!
Комментарии
Код файл /templates/page--node--add--post.tpl.php
<?php<div class="col-lg-9 col-sm-9 col-xs-12 site-content-left pull-right">
<?=($group?(vintauge_community_header_group($group)):'')?>
<div class="row">
<div class="col-lg-3 col-sm-3 col-xs-12 site-content-right fixedrightSidebar pull-left"
style="position: relative; overflow: visible; box-sizing: border-box;">
<div class="theiaStickySidebar"
style="padding-top: 0px; padding-bottom: 1px; position: static; top: 30px; left: 87.5px;">
<div class="sidebar-general sidebar widget_categories">
<aside class="left_aside no_padding">
<br/>
<div id="categories-2" class="general-sidebar-wrap widget-box widget_categories">
<div class="widget-title">
<h4><?= (!empty($node) ? link_to_category_parent($node, 1) : '') ?></h4>
</div>
<?php print get_group_tree($node) ?>
</div>
<div class="hidden-xs hidden-sm">
<?php print render($page['sidebar_first_after']); ?>
</div>
</aside>
<div id="vintauge_social_media_widget-2"
class="general-sidebar-wrap widget-box widget_vintauge_social_media_widget">
</div>
</div>
</div>
</div>?>
Неужели Вы сами не видите, что в определении функции у Вас два аргумента, а вызывается она с одним? В полном соответствии с текстом ошибки.
К сожалению, нет:( Помогите, пожалуйста!
Помочь увидеть? Нет проблем, вот определение Вашей функции из первого файла:
function vintauge_community_header_group($group, $type)
$group и $type - это аргументы функции. Их два.
А вот вызов функции из шаблона (второй файл):
vintauge_community_header_group($group)
Передается только один аргумент - $group, что вызывает фатальную ошибку PHP.
PS Как я рад, что начал прямо с восьмёрки и этого ужаса не застал
Спасибо вам огромное! Вы очень мне помогли!