Jump to content

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

Featured Replies

Posted
comment_169967

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

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

 

comment_169968

Nahimovets привет.

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

Спойлер

4343.thumb.png.39ce887bf0bf8194c0e0cb2e1dc1a1ca.png

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

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

Nahimovets привет.

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

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

4343.thumb.png.39ce887bf0bf8194c0e0cb2e1dc1a1ca.png

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

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

  • Author
comment_170008
В 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

comment_170012

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

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

comment_170021

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;
    }

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

Edited by Desti

  • Author
comment_170060

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

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

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

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

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

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

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

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

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

comment_170064

У файла 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>

 

  • Author
comment_170070

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

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

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

 

comment_170071

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

comment_170073

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.