Posted 15 июня, 20213 yr comment_169967 Приветствую. Встретился с проблемой. Искал решение этой проблемы, но спустя 3х дней попыток ничего не нашел. Что ж, начнем... Я сделал отображение кнопки, с помощью которой должна открываться форма. При нажатии на кнопку происходит ошибка That page does not exist. В плагине следующее строение и код: Что выполнено неправильно, что пропущено? Жду ответа, буду благодарен каждому решению проблемы. (версия IPS 4.5.4)
15 июня, 20213 yr comment_169968 Nahimovets привет. мне интересно, а на скрине где я пометил это обязательно? Спойлер и нет в коде закрывающего тега внизу. я всего лишь предполагаю.
15 июня, 20213 yr comment_169972 1 час назад, SlawkA сказал: Nahimovets привет. мне интересно, а на скрине где я пометил это обязательно? Показать контент и нет в коде закрывающего тега внизу. я всего лишь предполагаю. https://invisioncommunity.com/developers/docs/development/plugins/code-hooks-r42/
17 июня, 20213 yr 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)
18 июня, 20213 yr comment_170012 Метод нужно добавлять в контролер а не в класс. Добавьте его в \IPS\core\modules\front\members\profile. И как указываете ссылку на форму эту?
19 июня, 20213 yr 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 19 июня, 20213 yr by Desti
21 июня, 20213 yr 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> <span class='ipsResponsive_hidePhone ipsResponsive_inline'> Ble</span> </a> Добавление кнопки через шаблон furl Хук И ошибка при заходе в профиль
21 июня, 20213 yr comment_170061 7 минут назад, Nahimovets сказал: Добавление кнопки через шаблон а вот тут у тебя $members переменная, она есть в том шаблоне, куда хук вставляет код? Я в своём вижу только в единственном числе $member
21 июня, 20213 yr Author comment_170062 5 минут назад, accop сказал: а вот тут у тебя $members переменная, она есть в том шаблоне, куда хук вставляет код? Я в своём вижу только в единственном числе $member Новая ошибка
21 июня, 20213 yr comment_170063 Nahimovets смотри доку https://invisioncommunity.com/developers/docs/development/plugins/complete-example-of-a-plugin-in-ips-community-suite-r50/
21 июня, 20213 yr 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> <span class='ipsResponsive_hidePhone ipsResponsive_inline'> Ble</span> </a>
21 июня, 20213 yr Author comment_170067 3 минуты назад, Desti сказал: &id={$member->member_id} забыли передать в phtml
21 июня, 20213 yr Author comment_170070 Без dev мода профиль открылся без ошибки, но кнопка не появилась, при этом других ошибок нет. 11 минут назад, Desti сказал: Из dev режима надо выходить при проверке.
21 июня, 20213 yr comment_170071 Ну не знаю тогда, у меня всё собралось и запустилось без проблем. Кеш сбросьте, Ctrl+F5, по шинам постучать..
21 июня, 20213 yr comment_170073 Если вы хотите кнопу рядом с существующими, то надо в <li>...</li> вашу кнопку запихнуть
21 июня, 20213 yr Author comment_170074 По каким причинам форма может вечно загружаться? Edited 21 июня, 20213 yr by Nahimovets
21 июня, 20213 yr comment_170075 F12 - Network - смотрим на запросы-ответы. Обычно из за 500-х ошибок.
21 июня, 20213 yr Author comment_170076 %7B - это { значит где-то лишняя скобка? тогда где? и почему перед csrfKey вопрос.знак, а не &.
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.