С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/76: Рейтинг темы: голосов - 76, средняя оценка - 4.50
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313

Как подключить скрипт к определённой странице в OpenCart

12.10.2015, 08:56. Показов 14664. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как подключить скрипт только к одной странице в OpenCart?
И ещё хотелось понять, где находиться переменная $scripts в нижеприведённом коде из этой cms ?
PHP
1
2
3
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
Тут подключаются скрипты только на определённых страницах, не на всех.
Где это настраивается, т.е. подключение определённых скриптов на определённых страницах?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2015, 08:56
Ответы с готовыми решениями:

Как подключить отдаленный скрипт
Как подключить скрипт из другой директории. Пробовал с помощью require() не работает!

Как подключить скрипт на python к html странице?
Как подключить скрипт на python к html странице?

Как дважды подключить один и тоже скрипт на странице?
На странице присутствуют два одинаковых блока (галерея картинок) использующих один и тот же скрипт. В первом блоке скрипт работает, во...

7
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
12.10.2015, 09:14
opencart 2.x или 1.x ? И к какой именно странице вы хотите подключить скрипт? Это динамическая страница, например категории товара или страница товара, или это ваша собственная страница, т.е. если вы делали свой контроллер, свою вьюху и т.д. или эта может быть статическая страница например home?
Больше информации в студию
0
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
12.10.2015, 09:47  [ТС]
Цитата Сообщение от Xenox Посмотреть сообщение
opencart 2.x или 1.x ?
в файле index.php
PHP
1
define('VERSION', '1.5.6.4.1');
Цитата Сообщение от Xenox Посмотреть сообщение
И к какой именно странице вы хотите подключить скрипт? Это динамическая страница, например категории товара или страница товара, или это ваша собственная страница
Нужно для страницы входа. Но хотелось бы узнать, и для динамических. В чём разница между подключениями на стат-х и динам-х страницах?
Цитата Сообщение от Xenox Посмотреть сообщение
т.е. если вы делали свой контроллер, свою вьюху
Кстати хотелось бы подробней узнать про контроллер и вьюху. Я ещё с cms не работал, и для меня эти понятия новые. Где про это можно подробней узнать? Т.е. про структуру папок и файлов в opencart, про взаимосвязь между отдельными папками и файлами: php и tpl
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
12.10.2015, 11:09
Цитата Сообщение от phpk Посмотреть сообщение
Нужно для страницы входа.
Если честно с 1 версией не работал, но врядле они на много различаются, что бы подключить скрипт заходите в шаблон(на память по рукой нету проверить путь)
/catalog/view/theme/default/template/account/login.tpl и там смело внизу подключаете нужные вам скрипты.

Цитата Сообщение от phpk Посмотреть сообщение
Но хотелось бы узнать, и для динамических.
Для динамичеких там сложнее, т.е. например есть у вас категория товара - одежда, товары у вас там формируются динамически, для одежды одни товары, для обуви другие и т.д. а страница одна и та же, соответственно если вам нужно подключить скрипт только к категории одежда, то вам нужно будет учитывать категорию, например в бд для категории одежды ввести дополнительное поле - type, значение которого будет clothes и за тем во вьюхе проверять
PHP
1
2
3
4
5
<?php if (data['type'] == clothes){ ?>
 Какой то скрипт подключаем
<?php }else{ ?>
 Другой скрипт подключаем
?>
Но это только пример



Цитата Сообщение от phpk Посмотреть сообщение
Кстати хотелось бы подробней узнать про контроллер и вьюху
Это относиться не к конкретной CMS, да и вобще к какой либо CMS, т.е. CMS может быть написана без моделей контроллеров вьюх и т.д. Это считается патеррном програмирования - MVC, в частности opencart использует более широкий MVCL. Поэтому вам достаточно будет понять принцип MVC (на хабре куча статей, хотя бы http://habrahabr.ru/post/150267/ - очень наглядно показывает работа паттерна) и после вы сможете разобраться практически с любой cms не особо напрягаясь.

Цитата Сообщение от phpk Посмотреть сообщение
Т.е. про структуру папок и файлов в opencart
В opencart она едина. Важно разобраться как тут работает роутер. А для этого нужно понимать как работает MVC в целом, см выше, я бы посоветовал сначала попробовать разобраться с MVC а потом уже разбираться с opencart, иначе ничего не будет понятно

P.S. И надо переходить на 2x версию, в первой очень много ошибок. В часности по уровню безопасности.
1
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
12.10.2015, 13:03  [ТС]
Цитата Сообщение от Xenox Посмотреть сообщение
Для динамичеких там сложнее, т.е. например есть у вас категория товара - одежда, товары у вас там формируются динамически, для одежды одни товары, для обуви другие и т.д. а страница одна и та же, соответственно если вам нужно подключить скрипт только к категории одежда, то вам нужно будет учитывать категорию, например в бд для категории одежды ввести дополнительное поле - type, значение которого будет clothes и за тем во вьюхе проверять
на сайте используется один файл header.tpl для всех страниц. И в теге head подключён вышеприведённый код
PHP
1
2
3
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
Тут нет никакой проверки на типы, или категории, чтобы подключить определённый скрипт. Но на разных страницах подключаются разные скрипты. Значит это не в файле header.tpl назначаются определённые скрипты, а где-то ещё
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
12.10.2015, 15:12
Это теория была. ИМХО проверь урл и в файле catalog/controller/common/header.php подключи скрипты которые тебе нужны:
PHP
1
2
3
4
5
if(($_SERVER['REQUEST_URI'] == '/index.php?route=account/login') || ($_SERVER['REQUEST_URI'] == "/login")){
            $data['scripts'][] = 'Какой то скрипт';
            $data['scripts'][] = 'Еще какой то скрипт';
            //И т.д.
        }
Просто перед $data['categories'] = array(); вставь выше приведенный код

Добавлено через 7 минут
P.S. если хочешь узнать где именно выбираются скрипты которые подключаются - смотришь откуда вобще берется переменная $scripts на странице header.tpl, на эту страницу передаются скрипты со страницы catalog/controller/common/header.php, смотришь откуда там вобще появляется $data['scripts'], $data['scripts'] = $this->document->getScripts() так так, а тут значит скрипты берутся из system/library/document.php вот и функция добавления скриптов - public function getScripts()
1
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
13.10.2015, 13:51  [ТС]
Цитата Сообщение от Xenox Посмотреть сообщение
если хочешь узнать где именно выбираются скрипты которые подключаются - смотришь откуда вобще берется переменная $scripts на странице header.tpl
переменная $scripts в файле header.tpl встречается только в вышеприведённом коде в 1-м посте.
Цитата Сообщение от Xenox Посмотреть сообщение
на эту страницу передаются скрипты со страницы catalog/controller/common/header.php, смотришь откуда там вобще появляется $data['scripts']
в файле header.php только
PHP
1
$this->data['scripts'] = $this->document->getScripts();
тут ничего не понятно, откуда взялась переменная $scripts. Больше здесь нигде не встречается эта переменная
А в document.php только этот код, непосредственно касающийся скриптов:
PHP
1
2
3
4
5
6
7
8
9
private $scripts = array();
...
public function addScript($script) {
        $this->scripts[md5($script)] = $script;         
    }
    
    public function getScripts() {
        return $this->scripts;
    }
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
13.10.2015, 14:23
Хм.. Странно у вас похоже через этот цикл
Цитата Сообщение от phpk Посмотреть сообщение
PHP
1
2
3
<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>
вобще никакие скрипты не подключаются скиньте ваш header.tpl посмотрим
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2015, 14:23
Помогаю со студенческими работами здесь

Как подключить контроллер в OpenCart?
Пишу свое дополнение. С MVC и OpenCart познакомился совсем недавно. Итак, вопрос: как подключить контроллер своего дополнения в одном из...

Как скрыть элемент на определённой странице?
Здравствуйте. Поскольку я не силён, а скорее даже слаб в html/css, я решил использовать готовый шаблон и подстроить его под себя. Но тут...

Как проверить принадлежность определённой странице PageControl?
Добрый вечер всем! У меня возникла такая проблема: я перебираю все контролы на форме: for q := 0 to ComponentCount - 1 do ...

Как вывести на странице только подкатегории определённой категории (WP+woocommerce)
Здравствуйте дорогие форумчане! Я тока начал изучать woocommerce и не могу найти решение проблемы: нужно на странице(не в категории, а...

2 колонки товаров в странице opencart
как вывести 2 колонки товаров в странице product примерно так


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru