Как вызвать js функцию только на одну страницу

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Как вызвать js функцию только на одну страницу

Сообщение svil »

В модульной админке по маршруту product-update мне нужно выполнить js код, когда при выборе одной категории товара появляются бренды для выбора только данной категории, то есть один select связан с другим. div страницы <div class= "product-update"> Как повесить событие на загрузку данной страницы с вызовом функций js для селектов? Может какое-то расширение есть для yii2? Или как-то с маршрутом связать? heredoc?
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Как вызвать js функцию только на одну страницу

Сообщение futbolim »

Как вариант - поискать по форуму. Миллион раз поднималась эта тема.
В файле update.php:

Код: Выделить всё

<?php
$this->registerJs("
  
");
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Как вызвать js функцию только на одну страницу

Сообщение svil »

Это и есть heredoc
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Как вызвать js функцию только на одну страницу

Сообщение urichalex »

svil писал(а): 2018.07.25, 21:33 Это и есть heredoc

Код: Выделить всё

$js = <<<JS
...
JS;
$this->registerJs($js);
Вот это heredoc
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Как вызвать js функцию только на одну страницу

Сообщение svil »

В вид заполнения формы "_form.php" добавила

Код: Выделить всё

<?php
$this->registerJsFile(Yii::getAlias('@web/js/main2.js'));
?>
Работает.
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Как вызвать js функцию только на одну страницу

Сообщение futbolim »

svil писал(а): 2018.07.25, 21:33 Это и есть heredoc
Вы умничать собрались?
В вид заполнения формы "_form.php" добавила
Да, туда правильнее (чтобы и в create работало)

Код: Выделить всё

<?php
$this->registerJsFile(Yii::getAlias('@web/js/main2.js'));
?>
Посмотрите в коде страницы, подключается ли main2.js после jquery.js (в том случае, если в main2.js jQuery код)
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Как вызвать js функцию только на одну страницу

Сообщение svil »

Нет я по сути не знала, что есть heredoc, а есть такое подключение как получилось в виде файла.
main2-не jQuery. Подключается перед jQuery.

Код: Выделить всё

})();</script><script src="/~svetlanailina/shop/web/js/main2.js"></script>
<script src="/~svetlanailina/shop/web/assets/923306b5/jquery.js"></script>
<script src="/~svetlanailina/shop/web/assets/6dff83a9/no.conflict.js"></script>
<script src="/~svetlanailina/shop/web/assets/f09502b1/yii.js"></script>
<script src="/~svetlanailina/shop/web/assets/f09502b1/yii.validation.js"></script>
<script src="/~svetlanailina/shop/web/assets/557d7c51/ckeditor.js"></script>
<script src="/~svetlanailina/shop/web/assets/557d7c51/js.js"></script>
<script src="/~svetlanailina/shop/web/assets/f09502b1/yii.activeForm.js"></script>
<script src="/~svetlanailina/shop/web/assets/2260d6a0/js/bootstrap.js"></script>
<script src="/~svetlanailina/shop/web/js/jquery.scrollUp.min.js"></script>
<script src="/~svetlanailina/shop/web/js/jquery.prettyPhoto.js"></script>
<script src="/~svetlanailina/shop/web/js/jquery.cookie.js"></script>
<script src="/~svetlanailina/shop/web/js/jquery.accordion.js"></script>
<script src="/~svetlanailina/shop/web/js/main.js"></script>
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Как вызвать js функцию только на одну страницу

Сообщение svil »

Спасибо большое за помощь.
Ответить