Свои настройки виджета в 2ке не сохраняются (((

#1 26 ноября 2014 в 19:02
Делаю для своего сайта новый дизайн.
Добавил в виджет настройки отображения заголовка и тела виджета — всё работает, но если открыть настройки виджета заново то эти настройки будут стоят в значении по умолчанию и если их снова не поправить а просто нажать "сохранить" то стили виждета сбрасываются по умолчанию. Как сделать чтоб они остались такими какими я их выбрал в прошлый раз.
Я добавил настройки цвета для заголовка и тела виджета


в файл core.php добавил вот это:
  1.  
  2. // стили отображения виджетов
  3. $form->addField($title_fieldset_id, new fieldList('class', array(
  4. 'title' => LANG_CSS_CLASS1,
  5. 'default' => 'style_t1',
  6. 'items' => array(
  7. 'style_t1' => 'Дефолтный Серо-зелёный тёмный',
  8. 'style_t2' => 'Оранжевый',
  9. 'style_t3' => 'Зеленый',
  10. 'style_t4' => 'Голубой',
  11. 'style_t5' => 'Серый',
  12. 'style_t6' => 'Синий с закруглениями',
  13. 'style_t7' => 'Оранжевый с закруглениями',
  14. 'style_t8' => 'Зеленый с закруглениями',
  15. 'style_t9' => 'Голубой с закруглениями',
  16. 'style_t10' => 'Серый с закруглениями',
  17. )
  18. )));
  19.  
  20. $form->addField($title_fieldset_id, new fieldList('class', array(
  21. 'title' => LANG_CSS_CLASS2,
  22. 'default' => 'style_b1',
  23. 'items' => array(
  24. 'style_b1' => 'Дефолтный Белый',
  25. 'style_b2' => 'Светло-серый',
  26. 'style_b3' => 'Зеленый',
  27. 'style_b4' => 'Голубой',
  28. 'style_b5' => 'Серый',
  29. 'style_b6' => 'Синий с закруглениями',
  30. 'style_b7' => 'Оранжевый с закруглениями',
  31. 'style_b8' => 'Зеленый с закруглениями',
  32. 'style_b9' => 'Голубой с закруглениями',
  33. 'style_b10' => 'Серый с закруглениями',
  34. )
  35. )));
  36.  
#2 27 ноября 2014 в 06:59
А почему поля не в Опциях?
Когда то я тоже делал поле для Общей настройки виджета, выбор шаблона, как на первой ветке, но там пришлось редактировать не только core.php но и другие системные файлы, наверно это были widget.php и template.php
#3 27 ноября 2014 в 09:22
SE7EN, у вас не передаётся значение которое должно быть выбрано. Попробуйте в ваш
  1. new fieldList($name, $items)
передать третий параметр со значением ранее выбранного поля
  1. new fieldList($name, $items, $selected)
так:
  1.  
  2. new fieldList('class', array(
  3. 'title' => LANG_CSS_CLASS1,
  4. 'default' => 'style_t1',
  5. 'items' => array(
  6. 'style_t1' => 'Дефолтный Серо-зелёный тёмный',
  7. 'style_t2' => 'Оранжевый',
  8. 'style_t3' => 'Зеленый',
  9. 'style_t4' => 'Голубой',
  10. 'style_t5' => 'Серый',
  11. 'style_t6' => 'Синий с закруглениями',
  12. 'style_t7' => 'Оранжевый с закруглениями',
  13. 'style_t8' => 'Зеленый с закруглениями',
  14. 'style_t9' => 'Голубой с закруглениями',
  15. 'style_t10' => 'Серый с закруглениями',
  16. ), $selected)
#4 27 ноября 2014 в 09:27
или пробовать вместо
  1. 'default' => 'style_t1',
писать конструкцию
  1. 'default' => $selected ? $selected : 'style_t1',
#5 27 ноября 2014 в 18:07

или пробовать вместо
Код PHP:
'default' => 'style_t1',
писать конструкцию
Код PHP:
'default' => $selected? $selected: 'style_t1',

Loadырь
не сработало (((
и вариант описанный выше тоже не сработал
#6 27 ноября 2014 в 19:54

не сработало (((

SE7EN
Я подал идею, а не вариант для применения. Вместо $selected нужно подставлять переменную типа $data['class'] или что-то другое подобное этому. В общем ту переменную которая "прилетает" в приведённый вами код.
#7 27 ноября 2014 в 19:56

Я подал идею, а не вариант для применения. Вместо $selected нужно подставлять переменную типа $data['class'] или что-то другое подобное этому. В общем ту переменную которая "прилетает" в приведённый вами код.

Loadырь
понятно но в этом я не силён, делаю методом научного тыка.
#8 27 ноября 2014 в 20:13
Ещё в вашем коде дважды используется имя поля "class", вам бы переименовать их во что-то другое и разное например "class_t" и "class_b", вдруг заработает smile
#9 27 ноября 2014 в 20:35

"class_t" и "class_b"

Loadырь
подобное я пробовал, в таком случае при нажатии на кнопку сохранить (в настройках виджета) ничего не происходит окно с настройками просто напросто висит и не закрывается
#10 28 ноября 2014 в 11:30
подскажите как убрать шапку в Винжете "меню действий"

чтоб было как здесь
#11 28 ноября 2014 в 18:30
Геннадий, я очень извиняюсь, но по правилам хорошего тона Вам нужно было бы создать отдельную тему по Вашей проблеме. Ну не красиво в блогах в комментах и тут размещать тот же самый вопрос. Так не делается.
#12 28 ноября 2014 в 19:07
Геннадий,

комментируйте или удаляйте в templates\default\controllers\users\widgets\avatar\avatar.tpl.php
  1. <div class="user_info">
  2.  
  3. <div class="avatar">
  4. <a href="<?php echo href_to('users', $user->id); ?>">
  5. <?php echo html_avatar_image($user->avatar, 'micro'); ?>
  6. </a>
  7. </div>
  8.  
  9. <div class="name">
  10. <a href="<?php echo href_to('users', $user->id); ?>">
  11. <?php html($user->nickname); ?>
  12. </a>
  13. </div>
  14.  
  15. </div>
  16.  
или правилу .widget_user_avatar .user_info (thme-widgets.css) назначте свойсто display:none
и обратите, пожалуйста, внимание на сообщение SE7EN
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.