Ошибка при создании десятой категории

InstantCMS 2.X
#1 29 сентября 2021 в 12:53

С разрешения разработчика создаю тему
Есть компонент «Расширяемый список»
instantcms.ru/addons/explist.html
При создании десятой по счету категории возникает ошибка. Значения из второй категории переходят в десятую. Причина не известна. Вот скрины.
Попробовал на чистой системе, ошибка повторяется.
Изображение

Изображение

#2 29 сентября 2021 в 14:27

Если в чистой cms, в ПУ — контент так не происходит, то возможно написать здесь my-instantcms.ru/catalog/65-rasshirjaemyi-spisok.html ускорит решение проблемы .

#3 29 сентября 2021 в 16:46

 noname, так я же и говорю тема создана с разрешения автора разработки, он будет занят какое-то время и ему некогда заниматься данным вопросом. Но для меня сейчас починка данного компонента очень важна и ждать не могу

#4 29 сентября 2021 в 18:01

Что то я не догоняю. С каких пор нужно чьёто одобрение, для создания темы? Я правильно понимаю, вы хотите, что бы вместо автора для вас кто то починил компонент?

#5 29 сентября 2021 в 18:09

 Lora, Это было сделано из уважения к автору. Может он бы не хотел чтобы кто-то копался в его компоненте. Да если есть такая возможность то хотелось бы чтобы кто-то починил, а я отблагодарю.
Я так думаю раз косяк с сохранением данных то проблема в формате сохранения и мне кажется что бд воспринимает 10 как один и ноль и наверное воспринимает это как двойку. Почему тогда смешиваются данные второй! и десятой категории!

#6 29 сентября 2021 в 18:20

А если он запретит ковыряться в бесплатном компоненте, который можно свободно скачать, то никто не сможет ковыряться? )))

#7 29 сентября 2021 в 21:30

 noname, этот вопрос нужно задавать разработчику.
Вы можете помочь по теме данного поста?

#8 2 октября 2021 в 14:26

Ошибка так и не починилась
Неужели больше никто не устанавливал себе этот компонент и не создавал больше 10ти категорий?

#9 2 октября 2021 в 20:15

Я поверхностно глянул. В базу пишется правильно. Скорее всего нужно js код ковырять. Пока некогда.

#10 3 октября 2021 в 00:59

 Lora, А его там и нету.
Мне кажется что проблема тут в файле add.php

  1. <?php
  2.  
  3. class actionExplistAdd extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7. if (!$this->request->isAjax()){ cmsCore::error404(); }
  8.  
  9. $title = $this->request->get('title', '');
  10. if (!$title){
  11. return $this->cms_template->renderJSON(array('error' => true, 'message' => 'Заполнить поле'));
  12. }
  13.  
  14. $cat_id = $this->request->get('cat_id', 0);
  15. if ($cat_id){
  16. $this->model->filterEqual('i.cat_id', $cat_id);
  17. }
  18.  
  19. $item = $this->model->filterEqual('i.title', $title)->getData('explist', false, true);
  20. if (!empty($item['id'])){
  21. return $this->cms_template->renderJSON(array(
  22. 'error' => false,
  23. 'html' => '',
  24. 'id' => $item['id']
  25. ));
  26. }
  27.  
  28. $result = $this->model->saveData('explist', array('title' => $title, 'cat_id' => $cat_id));
  29. if ($result){
  30. if (!empty($this->options['notices'])){
  31. $text = 'Добавлен новый пункт в список';
  32. foreach ($this->options['notices'] as $idx => $admin){
  33. if (!$this->model->filterEqual('i.user_id', $admin)->filterEqual('i.content', $text)->getItem('users_notices')){
  34. $this->controller_messages->addRecipient($admin);
  35. }
  36. }
  37. $this->controller_messages->sendNoticePM(array(
  38. 'content' => $text,
  39. 'actions' => array(
  40. 'view' => array(
  41. 'title' => LANG_SHOW,
  42. 'href' => href_to('admin', 'controllers', array('edit', 'explist', 'items_form', $result))
  43. )
  44. )
  45. ));
  46. }
  47. return $this->cms_template->renderJSON(array(
  48. 'error' => false,
  49. 'html' => '<option value="' . $result . '">' . $title . '</option>',
  50. 'id' => $result
  51. ));
  52. }
  53.  
  54. return $this->cms_template->renderJSON(array('error' => true, 'message' => 'Неизвестная ошибка'));
  55.  
  56. }
  57.  
  58. }
  59.  



Добавлено спустя 2 часа

Предложили вот такое решение.
файл \templates\default\controllers\explist\backend\items.tpl.php     Внизу, после <script type=«text/javascript»> замените все key[0] на key

сработало, но теперь новые категории ставит после первой, это конечно не оч критично надо как-то привыкнуть
Изображение

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.