Zuldek Опубликовано 12 октября, 2021 Поделиться Опубликовано 12 октября, 2021 Есть кнопка, как на нее повесить событие или что та еще, чтобы при клике, всплывало модальное окно? При помощи инструментов ips, в которых уже есть возможность открывать модальные окна Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 12 октября, 2021 Автор Поделиться Опубликовано 12 октября, 2021 Элементу по примеру присваиваю role="button" data-ipsdialog="" data-ipsdialog-title="Создать" animating="false" При клике ничего не происходит, ни открытия окна, ни какого либо запроса Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 12 октября, 2021 Поделиться Опубликовано 12 октября, 2021 <a id="myId" href="https://link/" data-ipsdialog="" data-ipsdialog-size="medium" data-ipsdialog-title="Title" class="ipsButton ipsButton_*type* ipsButton_medium" title="title">ButtonName</a> Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 12 октября, 2021 Автор Поделиться Опубликовано 12 октября, 2021 data-ipsdialog-size='narrow' data-ipsdialog-width="70" Никак не выходит выставить свою ширину модального окна. В данном случаи возможно скажем задать ширину 200px? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 12 октября, 2021 Поделиться Опубликовано 12 октября, 2021 Не проверял, но думаю, что можно в стили добавить что-то типа .ipsDialog.ipsDialog_my200 > div { max-width: 200px; } и в data-ipsdialog-size='my200' Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 12 октября, 2021 Автор Поделиться Опубликовано 12 октября, 2021 Модальное окно сделал, подгружаю данные. Но что если пользователь не авторизован, как отдать такой же шаблон в ответ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 12 октября, 2021 Поделиться Опубликовано 12 октября, 2021 Ну вы же можете получить статус пользователя? Просто отправляете другой шаблон в ответ. Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 12 октября, 2021 Автор Поделиться Опубликовано 12 октября, 2021 \IPS\Output::i()->error( 'no_module_permission', '2C138/S', 403, ''); Нашел Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 13 октября, 2021 Автор Поделиться Опубликовано 13 октября, 2021 В модальном окне вывожу форму, в ней поля с данными. Каким образом возможно выполнить якс запрос и при этом передать данные формы? Второй вопрос: Для того чтобы определить переданы данные яксом, пост запросов. Выполняю проверку так $_SERVER['REQUEST_METHOD'] == 'POST' В ips предусмотрена какая нибудь функция для этого? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 15 октября, 2021 Автор Поделиться Опубликовано 15 октября, 2021 хелпс 😢 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 15 октября, 2021 Поделиться Опубликовано 15 октября, 2021 На такой случай нужно читать документацию: если подставить свойство remoteSubmit, то форма будет отправлена аяксом. В 13.10.2021 в 14:13, Zuldek сказал: В ips предусмотрена какая нибудь функция для этого? if ( \IPS\Request::i()->isAjax() ) { } Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 16 октября, 2021 Автор Поделиться Опубликовано 16 октября, 2021 Как вывести сообщение после отправки формы, понятно. Но что если необходимо внести изменения в html документ. То есть выполнить определенный js код после отправки. Возможно это? Как в таком случаи выставить проверку на поля которые обязательны к заполнению? И как принять данные в php, от формы. Которые будут профильтрованны от возможных инекций? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 16 октября, 2021 Автор Поделиться Опубликовано 16 октября, 2021 Хелпс Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 16 октября, 2021 Поделиться Опубликовано 16 октября, 2021 5 часов назад, Zuldek сказал: То есть выполнить определенный js код после отправки. Возможно это? Перехватить submit формы, сформировать и отправить ajax запрос на сервер, получить ответ в json (например), найти средствами jquery нужный элемент, изменить его. 5 часов назад, Zuldek сказал: И как принять данные в php, от формы. Все данные (и POST и GET) живут уже профильтрованные в \IPS\Request->i()->... Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 16 октября, 2021 Автор Поделиться Опубликовано 16 октября, 2021 С этим разобрался. Создал форму путем $form = new \IPS\Helpers\Form; // Add our form fields $form->add( ... ); $form->add( ... ); Вот только форма отправляет, не обновляя страницу. Но как в таком случаи, если пользователь отправляет пустое поле. Как его сделать обязательным? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 16 октября, 2021 Автор Поделиться Опубликовано 16 октября, 2021 Решил Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 16 октября, 2021 Поделиться Опубликовано 16 октября, 2021 Посмотреть в конструктор класса. Например для поля типа Text: public function __construct( $name, $defaultValue=NULL, $required=FALSE, $options=array(), $customValidationCode=NULL, $prefix=NULL, $suffix=NULL, $id=NULL ) { Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 17 октября, 2021 Автор Поделиться Опубликовано 17 октября, 2021 13 часов назад, Desti сказал: отправить ajax запрос на сервер, получить ответ в json (например) Отправляю ajax запрос на сервер, как верно отдать js код? \IPS\Output::i()->sendOutput(json_decode("console.log('sdf')")) Не выводится сообщение в консоле Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 17 октября, 2021 Поделиться Опубликовано 17 октября, 2021 \IPS\Output::i()->json( $data ); Но сообщение в консоли вы так не увидите :), для этого надо писать свой JS, причем в режиме разработчика, а не правкой существующих файлов. Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 17 октября, 2021 Автор Поделиться Опубликовано 17 октября, 2021 Как включить режим разработчика? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 17 октября, 2021 Поделиться Опубликовано 17 октября, 2021 https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/ Zuldek 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 17 октября, 2021 Автор Поделиться Опубликовано 17 октября, 2021 Как сделать ссылку, клик по которой не будет обновлять страницу, а отправит якс запрос? В модальном окне выводит console.log('ss'); В index.php прописал define( 'IN_DEV', TRUE ); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 17 октября, 2021 Поделиться Опубликовано 17 октября, 2021 https://invisioncommunity.com/4guides/themes-and-customizations/javascript-framework/ Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zuldek Опубликовано 17 октября, 2021 Автор Поделиться Опубликовано 17 октября, 2021 Ничего не помнимаю. 1 - необходимо создать js файлы 2 - когда отправляем якс запрос, отдавать что та вроде \IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'front_profile.js', 'core' ) ); И передавать данные в js? Где данный js расположен /js/front/controllers/profile/ips.profile.body.js Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Desti Опубликовано 17 октября, 2021 Поделиться Опубликовано 17 октября, 2021 31 минуту назад, Zuldek сказал: Ничего не помнимаю. Естественно. Вы сейчас пытаетесь освоить объем знаний, к которому люди идут несколько лет и получают в итоге зряплату 150-200к. 2. Этой командой в загрузку подключается созданный вами файл js Данные в JS передаются только в виде параметров ajax запроса или в аттрибутах тега, который вызвал событие. 35 минут назад, Zuldek сказал: Где данный js расположен https://invisioncommunity.com/4guides/themes-and-customizations/javascript-framework/introduction-to-the-framework/file-structure-r35/ SINILIAN 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.