volocuga@drupal.org 8 ноября 2010 в 23:44 Айтемы в сворачивающемся поле. Всё выводится через drupal_render(), (препроцесс формы редактирования Переопределяю вес пунктов, ключ #weight => разный вес,от 1 до 10, #sorted => TRUE Упорно не хочет сортироваться. Что делаю не так? Drupal6 Есть вопрос Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
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"], FALSE, FALSE, 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 9 ноября 2010 в 0:23 Я там хочу добавить картинку в филдсет. Каждый филдсет == отдельная нода. Картинка добавляется в самый низ, а мне надо наверх. Можно конечно выкрутить стилями, но как то коряво это
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 - переменная для шаблона } ?> А если так?
volocuga@drupal.org 9 ноября 2010 в 13:35 Не, не сортируется всё равно. Попробую через theme_fieldset()
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 - переменная для шаблона } ?> Ну а так?
Комментарии
Код в студию, моск говорит мне что ты коечо забыл
Вот
<?php function general_preprocess_product_form(&$vars) { // препроцесс для шаблона редактирования ноды
foreach ($vars['form']['base']['items'] as $key => $value) { // Добавляем картинки в филдсеты
$vars['show_edit_form_items'] = '<div class="edit-form-item-content">' . drupal_render($vars['form']['base']['items']) . '</div>';
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]['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;
}
}
// $show_edit_form_items - переменная для шаблона
} ?>
Я там хочу добавить картинку в филдсет. Каждый филдсет == отдельная нода. Картинка добавляется в самый низ, а мне надо наверх. Можно конечно выкрутить стилями, но как то коряво это
<?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'] = '
';
// $show_edit_form_items - переменная для шаблона
}
?>
А если так?
Не, не сортируется всё равно. Попробую через theme_fieldset()
<?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'] = '
';
// $show_edit_form_items - переменная для шаблона
}
?>
Ну а так?
Работает!
Огромное спасибо!