S

sergvm

+1
Репутация
0
Рейтинг
#1 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 14 мая 2020 в 13:17


Так скройте при помощи css кнопку сабмита в форме и добавьте в форму еще нужное кол-во кнопок. Я вам уже вагон вариантов накидал.

Fuze
С css и без инстанта понятно, что можно.
Наверное вагон какой-то нано :)


Вопрос: почему?

@sergvm
Я уже отвечал.

Думаю все предельно понятно.

@sergvm
Вам.

Далее я пас)

Fuze

Понятно. Жаль.
Пока ждал ответа покопал.
Вопрос свелся где и как можно определить какая кнопка "Сохранить" нажата: из тулбара или из формы?
#2 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 14 мая 2020 в 10:44


хочу, что бы была отдельно кнопка "Сохранить" в меню(дискетка) и кнопка "Загрузить" внизу.

@sergvm
Это как? Две кнопки с одинаковым функционалом, но с разным названием? Зачем её тогда скрываете? Почему не передали ей название "Загрузить"?
Вы бы формулировали точнее вопросы.


Fuze

По моему задача предельно просто описана. И описана проблема, с которой столкнулся.
1. Есть функционал формы из коробки: Кнопка "сохранить" внизу.
2. Также возможность подключить кнопку в тулбаре "сохранить" вверху через js.
Задача. Оставить одну кнопку в тулбаре "Сохранить", а в форме нужна кнопка "Загрузить" функционал которой будет ДРУГОЙ.

В настоящее время:
1. Если я просто поменяю название, то функционал от этого не изменится.
Поэтому скрываю стандартную кнопку "Сохранить". Сделаю другую с другим функционалом (если это возможно)
2. Когда скрыл стандартную кнопку "Сохранить", перестала работать кнопка "Сохранить" в тулбаре.
Вопрос: почему?

Если перечитаете начальный вопрос, то там будет ТОЖЕ САМОЕ.
Думаю все предельно понятно.
Я прекрасно понимаю, что js кнопка и кнопка в форме — это друг от друга не зависящие объекты.
Но в данной реализации они оказались прямо зависимыми. Отключение кнопки в форме отключило функциональность кнопки в тулбаре.

Где можно развести функциональность кнопок "Сохранить" из тулбара и формы? Ведь они обе по умолчанию будут передавать действие нажатия submit?
#3 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 13 мая 2020 в 22:59


Давайте еще раз попробую.
Кнопка с типом submit должна быть внутри тега form. У вас её нет. Кнопка в тулбаре — просто html тег с навешенной js функцией, которая должна делать триггер click на кнопке сабмита формы.
Две кнопки сохранения формы в админке используются во многих местах. Для удобства. У вас форма маленькая, к чему вы добавляете в тулбар кнопку сохранения формы вместо нативного сохранения формы, мне неведомо.

Fuze
Почему же неведомо:
"В форме админки компонента хочу, что бы была отдельно кнопка "Сохранить" в меню(дискетка) и кнопка "Загрузить" внизу."
С этого я начал. Мне показалось удобным, что бы кнопка Сохранить было вверху, а внизу вместо "Сохранить" была бы "Загрузить".
Все более чем логично. Наличие однофункциональных кнопок логично порождает вопросы. Я пытаюсь понять, что делает инстант по дефолту из "коробки", что бы понять объем доработок до нужного функционала. Документация во многом не отвечает на такие возникающие вопросы, как и метод тыка, который занимает очень много времени. Так что не обесудьте, если буду и дальше задавать вопросы.
#4 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 13 мая 2020 в 19:48


И как же быть, если мне нужна кнопка в тулбаре для сохранения параметров, а кнопка "Сохранить" самой формы не нужна?

@sergvm
Либо делать свою js функцию сабмита формы, либо принять тот факт, что кнопка тулбара не входит в форму, а кнопка сабмита формы должна быть в форме.

Fuze
Мда… Это не очень печально, в смысле две одинаковые кнопки "сохранить" в одной форме — это не очень как-то понятно.
#5 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 13 мая 2020 в 19:15


Верхняя кнопка — кнопка обычного тулбара, которая к форме не относится. Условно, эта кнопка, кликает на кнопку отправить самой формы.

Fuze

И как же быть, если мне нужна кнопка в тулбаре для сохранения параметров, а кнопка "Сохранить" самой формы не нужна?
#1 Глупый вопрос(продолжение): Кнопки "Сохранить" в backend 13 мая 2020 в 18:28
Здравствуйте!

В форме админки компонента хочу, что бы была отдельно кнопка "Сохранить" в меню(дискетка) и кнопка "Загрузить" внизу.
Кнопки вывел, добавил для нижней кнопки "Сохранить" (которая по умолчанию) в массиве формы 'show'=>false.
Теперь не работает верхняя "Сохранить" (дискетка), которая осталась.
По моей логике, это одна и та же кнопка и show только не показывает, а не запрещает.
Я что-то наверное не догоняю.
Прикрепленный файл
Save_d6ckh.jpg 25 Кб
#7 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 13 мая 2020 в 10:26
Fuze, Хорошо. Буду читать еще.
Спасибо. Тема закрыта.
#8 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 11 мая 2020 в 23:42


  1. new fieldList('ctype_id', array(
  2. 'title' => LANG_CONTENT_TYPE,
  3. 'generator' => function($item) {
  4.  
  5. $model = cmsCore::getModel('content');
  6. $tree = $model->getContentTypes();
  7.  
  8. $items = array();
  9.  
  10. if ($tree) {
  11. foreach ($tree as $item) {
  12. $items[$item['id']] = $item['title'];
  13. }
  14. }
  15.  
  16. return $items;
  17.  
  18. },
  19. )),
Любите мало кода?))
  1. new fieldList('ctype_id', array(
  2. 'title' => LANG_CONTENT_TYPE,
  3. 'items' => array_collection_to_list(cmsCore::getModel('content')->get('content_types'), 'id', 'title')
  4. )),

Раз уж вы разработчик, то задам еще вопрос: откуда оптимальнее(правильнее) подключать чужую модель в плане производительности: контроллер или экшн?

Я не разработчик, но рискну ответить — подключать надо там, где она вам нужна.

dwd

Спасибо. Да, люблю мало кода. Если есть возможность сократить код — всегда это делаю. :)
#9 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 11 мая 2020 в 23:39
Fuze, Спасибо за ответы. Рад, что мой вопрос затронул еще кого-то😊Для полного понимания структуры CMS нет ли ссылки на полный алгоритм работы: типа backend->form-> и т.д.
Не укладывается пока у меня в голове структура вызовов в тех или иных случаях. Разбираю компоненты, все сделаны по разному. Что-то понятно, а что-то нет.
#10 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 8 мая 2020 в 20:58


Это подключение собственной модели.

@sergvm
Я вам на скриншоте выделил красным, чтобы вы поняли, что в документации всё описано логично, ни о каких классах форм там не сказано. Кроме этого, повторяю, я добавил сейчас в документацию все слова, чтобы интерпретация описания стала максимально однозначной.

Подобные вызовы доступны из контекста контроллера, т.е. из его фронтэнда, бэкенда и экшенов.


Если вам по прежнему не понятно, приведите часть своего кода.

Fuze

Спасибо за добавление, увидел ( Не обновил кэш страницы со справкой :))
Хотя у меня в form работает и такой код:
  1. class formImpexpOptions extends cmsForm {
  2.  
  3. public function init() {
  4. return array(
  5. 'type' => 'fieldset',
  6. 'childs' => array(
  7. new fieldFile('file_from', array(
  8. 'title' => 'Файл импорта:',
  9. )),
  10. new fieldList('content_to', array(
  11. 'title' => 'Тип контента:',
  12. 'items' => array_column(cmsCore::getModel('content')->getContentTypes(),'title','id'),
  13. )),
  14. )
  15. )
  16. );
  17. }
  18.  
  19. }
Раз уж вы разработчик, то задам еще вопрос: откуда оптимальнее(правильнее) подключать чужую модель в плане производительности: контроллер или экшн?
#11 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 8 мая 2020 в 20:27


Работает, но не все как в документации

@sergvm
Работа с моделью в контроллерах.


Но наверное да, не слишком очевидно написано, дополнил.

Вы лучше сразу приводите пример кода или контекст, о чем вы спрашиваете, сходу не совсем понятно.

Fuze
Это подключение собственной модели.
А я речь веду о подключении модели content, например, (о чем и писал выше). Т.е. это подходит под определение "Подключение чужой модели"
Как в документации
pastenow.ru/edit/b1182c4559af3f11bf81c730b56d77fb
#12 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 8 мая 2020 в 20:04


Нужно в параметрах form выбрать тип контента

@sergvm
Как я понимаю, вы хотите это сделать в классе формы. Там это не работает, только из контроллеров.

Fuze

Извините, но прочитайте предыдущий ответ.
Работает, но не все как в документации
И в том-то вопрос, где описано в документации, что работает и из чего: какие классы и откуда доступны?
#13 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 8 мая 2020 в 17:48


@sergvm,
Попробуйте так:

  1. cmsCore::getModel('content')->getContentTypes()

Ris

Это работает. Я проверял. Но в документации написано:

В версиях InstantCMS выше 2.8.2, можно использовать обращением к динамическим свойствам $this→model_CONTROLLER_NAME, где CONTROLLER_NAME название требуемого контроллера, к модели которого нужно подключиться. Пример выше можно переписать вот так:

  1. // Получаем данные из модели users
  2. $users = $this->model_users->getUsers();

Instantcms

Такая конструкция существенно сокращает код. И она применяется в движке, я смотрел.
Получается, что она не везде может вызываться?
#1 [ЕСТЬ РЕШЕНИЕ] Глупый вопрос: типы контента 8 мая 2020 в 17:25
Здравствуйте!
Наверное это глупый вопрос.
Мне нужно написать дополнение, заодно и поизучать как работает Instantcms.
Но уперся в проблему.
Делаю дополнение в админку. Только backend.
Нужно в параметрах form выбрать тип контента. Пытаюсь выбрать список типов контента из модели content, но пишет ошибку.
В NetBeans не видит методов работы с моделью content.
Может где почитать, какие классы и их методы откуда доступны, а откуда нет?
Делаю как по документации $this-model_content->getContentTypes(), Но выдает ошибку, нет мол такого метода…
#15 [ЕСТЬ РЕШЕНИЕ] Шаблон Boxed и верхнее меню 27 апреля 2020 в 14:40
Вчера обновился до 2.13.0
Сегодня зашел — работает. Может обновление, может кэш сбросился...
Жаль, что нет отдельной кнопки в админке "Сбросить кэш".
Не хватает сильно.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.