1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

[РЕШЕНО]Ребята, помогите отладить два куска кода

Главные вкладки

Ребят, помогите привести код к стандарту, получаю ошибку (Strict warning: Only variables should be passed by reference) в двух кусках кода:

case 'user_login':
$form['#prefix'] = '<div class="login_form"><div class="head_title">'.t ('Login:').'</div>';
$form['#suffix'] = '</div><div class="register_form"><div class="head_title">'.t ('Registration:').'</div>'.drupal_render (drupal_get_form ('user_register_form')).'</div>';
$links = _ajax_register_ajax_links(array ('password'));
$form['submit']['#prefix'] = $links[0];
$form['actions']['submit']['#value'] = t ('Sign in');
break;

и вот здесь еще

if(count (end ($items)) < 6 && count (end ($items)) != 0){
$photo_end = str_replace ('<span>', '<span class="end">', end (end ($items)));
$photo_end = str_replace ('<img', '<img class="end_img"', $photo_end);
$photos .= '<div class="row">';
$photos .= '<div class="row_content">'.l ($photo_end, 'collection', array ('query' => array ('tid' => $result->tid), 'html' => TRUE)).'</div>';
$photos .= '</div>';
}

Комментарии

Аватар пользователя graker graker 12 октября 2015 в 22:12

Вы зайдите в описание end(), там прямо написано:
Массив. Этот массив передается по ссылке, потому что он модифицируется данной функцией. Это означает что вы должны передать его как реальную переменную, а не как функцию, возвращающую массив, так как по ссылке можно передавать только реальные переменные.
Это ко второму случаю.
А в первом случае такая же проблема у drupal_render().

Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /