Перейти к содержанию

Можно ли расширить контроллер?


TemKa_SD
 Поделиться

Рекомендуемые сообщения

Здравствуйте. Я хочу добавить функционал cropPhoto для мероприятия в календаре. Но так как этот функционал работает в контроллере, расширять нужно его а не форму. Можно как-то хуком расширить контроллер в приложении calendar?

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего вам придётся писать собственную функцию кропа и применять её.

Ссылка на комментарий
Поделиться на другие сайты
В 29.08.2022 в 04:09, Кирилл сказал:

Скорее всего вам придётся писать собственную функцию кропа и применять её.

Да, я понимаю, тут вопрос немного в другом. Я уже написал такое для своего приложения, там у меня форма работает в контроллере а не классе, поэтому там нет никаких проблем, а здесь столкнулся со следующим:

После отправки формы, я делаю редирект на метод с cropPhoto (где кропим фото), после этого редиректа, у меня методы формы дальше не выполняются.

Блин, так сложно будет понять мой вопрос, я скорей всего, завтра сделаю видео где всё покажу.

Но вообще, невозможно ведь хуком расширить контроллер? Например, я хочу расширить это: /calendar/modules/front/calendar/submit.php метод manage()

Ссылка на комментарий
Поделиться на другие сайты

Хуком можно расширить практически любой контроллер.

Ссылка на комментарий
Поделиться на другие сайты

@Кирилл Вот смотрите, проблема вот в чем: я создал приложение для календаря, позволяющее, реализовать функционал cropPhoto.

1. Создал хук \IPS\calendar\Event

public function processForm( $values )
	{
		parent::processForm( $values );

		if ( $values['event_cover_photo'] && \strpos($values['event_cover_photo']->filename, 'cropped') === false ){
			$this->save();
			\IPS\Output::i()->redirect( \IPS\Http\Url::internal('app=calendarphotocrop&module=crop&controller=crop')->setQueryString( 'event', $this->id ) );
		}
	}

Здесь я делаю редирект на контроллер в своем приложении, который, будет кропить фото. После этого редиректа parent методы формы прекращают работать, вот тут \IPS\Content\Item::createFromForm() https://prnt.sc/91xr1LLfSxHE после $obj->processForm( $values ); код уже не выполняется, потому что я в хуке сделал редирект на контроллер.

Думаю, нет смысла выкладывать сюда код в контроллере, выложу скрином: https://prnt.sc/TioXTJu8Uxco

Как продолжить выполнение методов формы после редиректа в контроллер моего приложения?

Изменено пользователем TemKa_SD
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
 Поделиться

×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности