Поля ListMultiple и List в icms2

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#31 9 января 2015 в 22:55

r2, не только у меня при добавлении белый экран, значит есть ошибка.
Помогите пожалуйста "довести до ума" этот хак.

eoleg
Так надо начать с того, что "белый экран" ни о чем не говорит.
Смотрите логи и получайте текст ошибки, иначе требуется телепатия
#32 9 января 2015 в 23:00
eoleg, архив выложенный сегодня, скачали, файлы смержили-перезаписали? Шаблон используете свой или дефолтный? Если свой, то делался из полной копии дефолта или только изменёные файлы?

при добавлении поля в тип контента выкидывает на белый экран

выкидывает в админке или при редактировании контента? Пока не получается воспроизвести вашу ошибку.
#33 10 января 2015 в 02:22
Loadырь, сейчас скачал последний архив, установил, вроде все работает, спасибо.
#34 10 января 2015 в 08:24
Ура на чистой системе сработало, спасибо Loadырь, щас попробую поставить на систему с изменениями
#35 10 января 2015 в 09:06
А вот во втором случае у меня не работает, вот что пишет при включенной отладке

Ошибка в запросе БД:
BLOB/TEXT column 'kommunikacii' used in key specification without a key length
ALTER TABLE `cms_con_doma` CHANGE `kommunikacii` `kommunikacii` text NULL DEFAULT NULL
Последние вызовы:
updateContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_edit.php: 68
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
Это при изменении типа поля,
при добавлении нового аналогично:

Ошибка в запросе БД:
BLOB/TEXT column 'kommkd' used in key specification without a key length
ALTER TABLE `cms_con_doma` ADD INDEX ( `kommkd` )
Последние вызовы:
addContentField() @ /public_html/system/controllers/admin/actions/ctypes_fields_add.php: 52
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
runAction()
call_user_func_array() @ /public_html/system/core/action.php: 29
__call() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
runAction() @ /public_html/system/controllers/admin/actions/ctypes.php: 9
run()
call_user_func_array() @ /public_html/system/core/controller.php: 276
runExternalAction() @ /public_html/system/core/controller.php: 207
Возникает эта ошибка при добавлении в тип контента самого поля — список с множественным выбором
#36 10 января 2015 в 11:47
Я дико извиняюсь, в файлах модели и контроллера ядра, есть помимо моих правок ещё и правки от дебагера WebMan и выдаёт ошибки. Поправил архив, там эти файлы взяты из коробки движка. Поставил на своём демо-сайте работает в разделе "Дополнительные функции: ". Пишите если, что не так.
#37 10 января 2015 в 12:08
Loadырь, да нет в чем то другом дело, я же не полностью заменял а мержил файлы, собственно мои контроллер и модели файлы пока были без правок от оригинала 2.1.2 не отличаются, тут похоже что то другое влияет, у меня на одном сайте тоже сработало, а вот на другом не хочет
В модель я добавил только это:

  1. public function filterMultiIn($field, $value){
  2. if (!strstr($field, '.')){ $field = 'i.' . $field; }
  3.  
  4. $this->filterStart();
  5. foreach($value as $k=>$v){
  6. $v = $this->db->escape($v);
  7. $this->filterOr()->filter("locate('{$v}',{$field})>0");
  8. }
  9. $this->filterEnd();
  10.  
  11. return $this;
  12. }
В контроллере заменил это

  1.  
  2. public function validate_array_key($array, $value){
  3. if (!isset($array[$value])) { return ERR_VALIDATE_INVALID; }
  4. return true;
  5. }
  6.  
на это

  1.  
  2. public function validate_array_key($array, $value){
  3. if (is_array($value)) {
  4. foreach ($value as $val){
  5. if (!isset($array[$val])) { return ERR_VALIDATE_INVALID; }
  6. }
  7. } else {
  8. if (!isset($array[$value])) { return ERR_VALIDATE_INVALID; }
  9. }
  10. return true;
  11. }
  12.  
Остальные файлы добавил, плюс 2 строчки в языковой… Все верно же?
А вот при полной замене с данными файлами у меня почему то вообще рушится в белый экран без объяснения причин…
#38 10 января 2015 в 12:25

Все верно же?

jorgovich
Да, всё верно! Три эти правки.
У меня была просто ошибка 404 при полном копировании этих файлов. Её исправил. А вы дефолтный шаблон используете или свой. В своём — файлы поля есть?
#39 10 января 2015 в 12:30
Шаблон правленый дефолт, т.е фактически взял дефолт и переправил под свои стили, глобальные изменения только в добавленные свои типы контента в основном это шаблоны тип_контента_list.tpl.php и тип_контента_item.tpl.php, файлы поля multilist.tpl.php я добавил
#40 10 января 2015 в 13:53
Такая ошибка возникает, если не заполнить поле "Предустановленные значения".
#41 12 января 2015 в 00:10
Loadырь, вобщем получается следующая картина сейчас:
добавляю поле с параметрами по умолчанию — все прекрасно,
добавляю поле с включенным параметром Показывать в фильтре — пустая страница,
снова пробую добавить без фильтра — ругается на системное имя — уже есть, но это наверное просто в кеше
снова пробую добавить без фильтра с другим системным именем — все прекрасно.
редактирую и включаю в поле "Показывать в фильтре" — все добавляется.
#42 18 марта 2015 в 22:52
В связи с обновлением 2.2.0, тема не актуальна.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.