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

Не выдает форму, плагин.


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

Приветствую. Встретился с проблемой. Искал решение этой проблемы, но спустя 3х дней попыток ничего не нашел. Что ж, начнем...
Я сделал отображение кнопки, с помощью которой должна открываться форма.
При нажатии на кнопку происходит ошибка That page does not exist
В плагине следующее строение и код:

Что выполнено неправильно, что пропущено? Жду ответа, буду благодарен каждому решению проблемы.
(версия IPS 4.5.4)

 

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

Nahimovets привет.

мне интересно, а на скрине где я пометил это обязательно?

Спойлер

4343.thumb.png.39ce887bf0bf8194c0e0cb2e1dc1a1ca.png

и нет в коде закрывающего тега внизу. я всего лишь предполагаю.

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

1 час назад, SlawkA сказал:

Nahimovets привет.

мне интересно, а на скрине где я пометил это обязательно?

  Показать контент

4343.thumb.png.39ce887bf0bf8194c0e0cb2e1dc1a1ca.png

и нет в коде закрывающего тега внизу. я всего лишь предполагаю.

https://invisioncommunity.com/developers/docs/development/plugins/code-hooks-r42/

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

А куда код делся из первого сообщения? :)

 

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

В 16.06.2021 в 11:37, Desti сказал:

А куда код делся из первого сообщения? :)

 

Удалили из-за нарушения правил. Я опубликовал скрины через хостинг картинок. 

В 15.06.2021 в 21:38, Nahimovets сказал:

Приветствую. Встретился с проблемой. Искал решение этой проблемы, но спустя 3х дней попыток ничего не нашел. Что ж, начнем...
Я сделал отображение кнопки, с помощью которой должна открываться форма.
При нажатии на кнопку происходит ошибка That page does not exist
В плагине следующее строение и код:

Что выполнено неправильно, что пропущено? Жду ответа, буду благодарен каждому решению проблемы.
(версия IPS 4.5.4)

 

xJfxDWc.thumb.png.5e138e83be8b1d9daf70697e93b52855.pnggp7e6XN.png.078ac72b9f939d0d6cd585c4dca16836.pngfVDmMBg.thumb.png.fc83c60b7e123d046981ac528e322e32.pngcWehVGK.thumb.png.fba9ce898c53e362a9d33b27109ecb84.png

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

2 часа назад, Desti сказал:

так и не победили?

Нет ))

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

Метод нужно добавлять в контролер а не в класс. Добавьте его в \IPS\core\modules\front\members\profile.

И как указываете ссылку на форму эту?

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

1. хук на \IPS\Theme\class_core_front_profile, добавляем (#elEditProfile, insert after) кнопку, но не напрямую через <li>...</li>, а через шаблон {template='myProfileButton'  group="plugins" location="global" app="core" params='$members'} 
2. создаем темплейт myProfileButton.phtml с кнопкой в dev/html (копируем из edit-profile, например, меняем seoTemplate='profile_testform' и do='testform')
3. создаем code-хук на \IPS\Http\Url\Friendly (фурлу по другому не создать в плагине)

static public function furlDefinition( $revert=false )
	{
		  $furls = parent::furlDefinition( $revert );
	      
	      if( !isset( $furls['profile_testform'] ) )
			{
				$furls['profile_testform'] = array(
					'friendly'  => 'profile/{#id}/testform',
					'real'      => 'app=core&module=members&controller=profile&do=testform',
	                'params'   	=> array(),
	                'regex' 	=> array(),
				);
			}
			return $furls;
	}

4. создаем хук на \IPS\core\modules\front\members\profile - новую функцию, которую мы передаем в do= на п.2 

public function testform() {
            $form = new \IPS\Helpers\Form;
            $form->add( new \IPS\Helpers\Form\Text(’name’));
            \IPS\Output::i()->output = $form;
    }

Радуемся окошку с формой при нажатии на кнопку. Ну или ищем ошибку :)

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

myProfileButton.phtml:
 

<a href='{url="app=core&module=members&controller=profile&do=testform" base="front" seoTemplate="profile_testform" seoTitle="$member->members_seo_name"}' class='ipsButton ipsButton_overlaid' data-ipsDialog data-ipsDialog-modal='true' data-ipsDialog-title='Bla'>
  <i class='fa fa-pencil'></i>&nbsp;
  <span class='ipsResponsive_hidePhone ipsResponsive_inline'>&nbsp;&nbsp;Ble</span> 
</a>

Добавление кнопки через шаблон
unknown.png.fbadb519146d2afdf68d40409b72cf7a.png

furl

unknown.png.3ecd59fe7292b086b18fa66abd0af4e4.png

 

Хук

unknown.thumb.png.3fa1f4d46944c0fc14ef89bcc10152f9.png

 

И ошибка при заходе в профиль

unknown.png.6dba6e59e8d0bc7e664f770f14891e5d.png

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

7 минут назад, Nahimovets сказал:

Добавление кнопки через шаблон

а вот тут у тебя $members переменная, она есть в том шаблоне, куда хук вставляет код? 

Я в своём вижу только в единственном числе $member

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

5 минут назад, accop сказал:

а вот тут у тебя $members переменная, она есть в том шаблоне, куда хук вставляет код? 

Я в своём вижу только в единственном числе $member

Новая ошибка
unknown.png.c5109e783860cd586b9c40d153178d77.png
unknown.thumb.png.4c008bcb3fda5706b9086aa8b9e7d419.png

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

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

У файла phtml должен быть хидер, типа <ips:template parameters="$data" />

Если его нет, будет такая ошибка.

<ips:template parameters="$member" />
<a href='{url="app=core&module=members&controller=profile&do=testform" base="front" seoTemplate="profile_testform" seoTitle="$member->members_seo_name"}' class='ipsButton ipsButton_overlaid' data-ipsDialog data-ipsDialog-modal='true' data-ipsDialog-title='Bla'>
  <i class='fa fa-pencil'></i>&nbsp;
  <span class='ipsResponsive_hidePhone ipsResponsive_inline'>&nbsp;&nbsp;Ble</span> 
</a>

 

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

&id={$member->member_id} забыли передать в phtml

 

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

3 минуты назад, Desti сказал:

&id={$member->member_id} забыли передать в phtml

 

 

unknown.png

unknown.png

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

Из dev режима надо выходить при проверке.

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

Без dev мода профиль открылся без ошибки, но кнопка не появилась, при этом других ошибок нет.

11 минут назад, Desti сказал:

Из dev режима надо выходить при проверке.

 

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

Ну не знаю тогда, у меня всё собралось и запустилось без проблем. Кеш сбросьте, Ctrl+F5, по шинам постучать..

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

Минуту, вроде заработало. Проверим все..

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

Если вы хотите кнопу рядом с существующими, то надо в <li>...</li> вашу кнопку запихнуть

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

По каким причинам форма может вечно загружаться?

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

F12 - Network - смотрим на запросы-ответы. Обычно из за 500-х ошибок.

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

%7B - это {
значит где-то лишняя скобка? тогда где? и почему перед csrfKey вопрос.знак, а не &.unknown-37.thumb.png.a43a77fcaea22908647252809137c6fc.png

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

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...