Не хотят сортироваться items в fieldset

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

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 8 ноября 2010 в 23:44

Айтемы в сворачивающемся поле. Всё выводится через drupal_render(), (препроцесс формы редактирования

Переопределяю вес пунктов, ключ #weight => разный вес,от 1 до 10, #sorted => TRUE

Упорно не хочет сортироваться. Что делаю не так?

Комментарии

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 ноября 2010 в 0:20

Вот

<?php

function general_preprocess_product_form(&$vars) { 

// препроцесс для шаблона редактирования ноды

  

foreach ($vars['form']['base']['items'] as $key => $value) { // Добавляем картинки в филдсеты
  
if (is_numeric($key)) { 
  
$node node_load($key);
  
$vars['form']['base']['items'][$key]['image'] = array (
  
'#type' => 'markup',
  
'#value' => theme('imagecache''product_list'$node->field_image_cache[0]["filepath"], FALSEFALSE,  FALSE), 
  
'#weight' => 1,
  );
  
  
$vars['form']['base']['items'][$key]['link']['#weight'] = 2;
  
$vars['form']['base']['items'][$key]['qty']['#weight'] = 3;
  
$vars['form']['base']['items'][$key]['ordering']['#weight'] = 4;
  
$vars['form']['base']['items'][$key]['discount']['#weight'] = 5;
  }
  } 

  

$vars['show_edit_form_items'] = '<div class="edit-form-item-content">' drupal_render($vars['form']['base']['items']) . '</div>';
  
// $show_edit_form_items - переменная для шаблона 
}

?>
Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 ноября 2010 в 0:23

Я там хочу добавить картинку в филдсет. Каждый филдсет == отдельная нода. Картинка добавляется в самый низ, а мне надо наверх. Можно конечно выкрутить стилями, но как то коряво это

Аватар пользователя gorr gorr 9 ноября 2010 в 9:05

<?php
function general_preprocess_product_form(&$vars) {
// препроцесс для шаблона редактирования ноды
foreach ($vars['form']['base']['items'] as $key => $value) { // Добавляем картинки в филдсеты
if (is_numeric($key)) {
$node = node_load($key);
$vars['form']['base']['items'][$key]['image'] = array (
'#type' => 'markup',
'#value' => theme('imagecache', 'product_list', $node->field_image_cache[0]["filepath"], FALSE, FALSE, FALSE),
);
drupal_render($vars['form']['base']['items'][$key]['image']);
drupal_render($vars['form']['base']['items'][$key]['link']);
drupal_render($vars['form']['base']['items'][$key]['qty']);
drupal_render($vars['form']['base']['items'][$key]['ordering']);
drupal_render($vars['form']['base']['items'][$key]['discount']);
}
}
$vars['show_edit_form_items'] = '

' . drupal_render($vars['form']['base']['items']) . '

';
// $show_edit_form_items - переменная для шаблона
}

?>
А если так?

Аватар пользователя gorr gorr 9 ноября 2010 в 14:34

<?php
function general_preprocess_product_form(&$vars) {
// препроцесс для шаблона редактирования ноды
foreach ($vars['form']['base']['items'] as $key => $value) { // Добавляем картинки в филдсеты
if (is_numeric($key)) {
$node = node_load($key);
$vars['form']['base']['items'][$key]['image'] = array (
'#type' => 'markup',
'#value' => theme('imagecache', 'product_list', $node->field_image_cache[0]["filepath"], FALSE, FALSE, FALSE),
'#weight' => 1,
);
$vars['form']['base']['items'][$key]['#sorted'] = NULL;
$vars['form']['base']['items'][$key]['link']['#weight'] = 2;
$vars['form']['base']['items'][$key]['qty']['#weight'] = 3;
$vars['form']['base']['items'][$key]['ordering']['#weight'] = 4;
$vars['form']['base']['items'][$key]['discount']['#weight'] = 5;
}
}
$vars['show_edit_form_items'] = '

' . drupal_render($vars['form']['base']['items']) . '

';
// $show_edit_form_items - переменная для шаблона
}

?>
Ну а так?