Prooksius Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 Всем привет. Может тема уже старая и уже все это решено, но я что-то не находил. Модификаторы могут изменять все файлы, в т.ч. и javascript, они сохраняют их в папке модификаторов. Но я что-то не встречал модификаторов, которые бы меняли javascript файлы. Чтобы изменить, к примеру, common.js, просто пишем нужный модификатор для этого js и в этом же модификаторе: 1) в header.{tpl|twig} меняем строку: <script src="catalog/view/javascript/common.js" type="text/javascript"></script> на такую (получение этого файла с сервера через php): <script src="index.php?route=common/header/getCommonJs" type="text/javascript"></script> 2) прописываем в контроллере header перед index, вот примерно такую функцию: public function getCommonJs() { $js = DIR_APPLICATION . 'view/javascript/common.js'; $mod_js = DIR_MODIFICATION . 'catalog/view/javascript/common.js'; if (file_exists($mod_js)) { $js = $mod_js; } header("Content-Type: application/javascript"); echo file_get_contents($js); exit; } Здесь мы смотрим, есть ли модифицированный js. Если есть, отдаем его, если нет - оригинальный. Попробовал на 2.3 - идеально работает. И вообще, категорически всех поздравляю с НГ !!! 2 Надіслати Поділитися на інших сайтах More sharing options... esculapra Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 Если нужно подключть много кода. то я делаю перенаправление в модификаторе. типа Цитата require_once(DIR_APPLICATION.'controller/toolkit/sef.php'); class _ControllerStartupSeoUrl extends Controller { Тут модификатор делается из пары строк. <file path="catalog/controller/startup/seo_url.php"> <operation> <search><![CDATA[class ControllerStartupSeoUrl]]></search> <add position="before"><![CDATA[require_once(DIR_APPLICATION.'controller/toolkit/sef.php');]]></add> </operation> <operation> <search><![CDATA[ControllerStartupSeoUrl]]></search> <add position="replace"><![CDATA[_ControllerStartupSeoUrl]]></add> </operation> </file> Впрочем. это кому как нравится. Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 12 часов назад, esculapra сказал: Если нужно подключть много кода. то я делаю перенаправление в модификаторе. типа 13 часов назад, Prooksius сказал: Но я что-то не встречал модификаторов, которые бы меняли javascript файлы. Эскулапра. Новый год...алкоголь...плохое зрение. Или просто жизненная позиция, прочёл, не понял о чём речь и вставил свои пару копеек невпопад? 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 @Prooksius задачу-то ваш метод не решает. Что свой яваскрипт вместо штатного подключить можно - понятно, задача нехитрая. Так ведь надо не заменить, а изменить существующий. Мало ли чего там наваяли, он, может, вообще ни разу не дефолтный. Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 1 минуту назад, Shureg сказал: Так ведь надо не заменить, а изменить существующий. Так я же и изменил дефолтный common.js через модификатор: Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 11 минут назад, Prooksius сказал: Так я же и изменил дефолтный common.js через модификатор: Да, спасибо, теперь понял смысл ваших действий. Работать, конечно, будет. Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер 1 Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 9 минут назад, Shureg сказал: Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер Да, есть такое.. Как вариант, можно конечно, подключить его, как текст, не как файл... То есть вместо <script src="catalog/view/javascript/common.js" type="text/javascript"></script> просто вывести содержимое файла (оригинала или модифицированного), обернутое в <script></script> в header.tpl|twig Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Тогда не надо через php грузить. Ну вообщем, вопрос вполне решаемый, мне кажется. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Изменение javascript файлов через модификатор Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
esculapra Опубліковано: 31 грудня 2021 Share Опубліковано: 31 грудня 2021 Если нужно подключть много кода. то я делаю перенаправление в модификаторе. типа Цитата require_once(DIR_APPLICATION.'controller/toolkit/sef.php'); class _ControllerStartupSeoUrl extends Controller { Тут модификатор делается из пары строк. <file path="catalog/controller/startup/seo_url.php"> <operation> <search><![CDATA[class ControllerStartupSeoUrl]]></search> <add position="before"><![CDATA[require_once(DIR_APPLICATION.'controller/toolkit/sef.php');]]></add> </operation> <operation> <search><![CDATA[ControllerStartupSeoUrl]]></search> <add position="replace"><![CDATA[_ControllerStartupSeoUrl]]></add> </operation> </file> Впрочем. это кому как нравится. Надіслати Поділитися на інших сайтах More sharing options... Tom Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 12 часов назад, esculapra сказал: Если нужно подключть много кода. то я делаю перенаправление в модификаторе. типа 13 часов назад, Prooksius сказал: Но я что-то не встречал модификаторов, которые бы меняли javascript файлы. Эскулапра. Новый год...алкоголь...плохое зрение. Или просто жизненная позиция, прочёл, не понял о чём речь и вставил свои пару копеек невпопад? 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 @Prooksius задачу-то ваш метод не решает. Что свой яваскрипт вместо штатного подключить можно - понятно, задача нехитрая. Так ведь надо не заменить, а изменить существующий. Мало ли чего там наваяли, он, может, вообще ни разу не дефолтный. Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 1 минуту назад, Shureg сказал: Так ведь надо не заменить, а изменить существующий. Так я же и изменил дефолтный common.js через модификатор: Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 11 минут назад, Prooksius сказал: Так я же и изменил дефолтный common.js через модификатор: Да, спасибо, теперь понял смысл ваших действий. Работать, конечно, будет. Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер 1 Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 9 минут назад, Shureg сказал: Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер Да, есть такое.. Как вариант, можно конечно, подключить его, как текст, не как файл... То есть вместо <script src="catalog/view/javascript/common.js" type="text/javascript"></script> просто вывести содержимое файла (оригинала или модифицированного), обернутое в <script></script> в header.tpl|twig Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Тогда не надо через php грузить. Ну вообщем, вопрос вполне решаемый, мне кажется. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Изменение javascript файлов через модификатор Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Tom Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 12 часов назад, esculapra сказал: Если нужно подключть много кода. то я делаю перенаправление в модификаторе. типа 13 часов назад, Prooksius сказал: Но я что-то не встречал модификаторов, которые бы меняли javascript файлы. Эскулапра. Новый год...алкоголь...плохое зрение. Или просто жизненная позиция, прочёл, не понял о чём речь и вставил свои пару копеек невпопад? 1 Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 @Prooksius задачу-то ваш метод не решает. Что свой яваскрипт вместо штатного подключить можно - понятно, задача нехитрая. Так ведь надо не заменить, а изменить существующий. Мало ли чего там наваяли, он, может, вообще ни разу не дефолтный. Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 1 минуту назад, Shureg сказал: Так ведь надо не заменить, а изменить существующий. Так я же и изменил дефолтный common.js через модификатор: Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 11 минут назад, Prooksius сказал: Так я же и изменил дефолтный common.js через модификатор: Да, спасибо, теперь понял смысл ваших действий. Работать, конечно, будет. Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер 1 Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 9 минут назад, Shureg сказал: Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер Да, есть такое.. Как вариант, можно конечно, подключить его, как текст, не как файл... То есть вместо <script src="catalog/view/javascript/common.js" type="text/javascript"></script> просто вывести содержимое файла (оригинала или модифицированного), обернутое в <script></script> в header.tpl|twig Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Тогда не надо через php грузить. Ну вообщем, вопрос вполне решаемый, мне кажется. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Изменение javascript файлов через модификатор
Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 @Prooksius задачу-то ваш метод не решает. Что свой яваскрипт вместо штатного подключить можно - понятно, задача нехитрая. Так ведь надо не заменить, а изменить существующий. Мало ли чего там наваяли, он, может, вообще ни разу не дефолтный. Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 1 минуту назад, Shureg сказал: Так ведь надо не заменить, а изменить существующий. Так я же и изменил дефолтный common.js через модификатор: Надіслати Поділитися на інших сайтах More sharing options... Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 11 минут назад, Prooksius сказал: Так я же и изменил дефолтный common.js через модификатор: Да, спасибо, теперь понял смысл ваших действий. Работать, конечно, будет. Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер 1 Надіслати Поділитися на інших сайтах More sharing options... Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 9 минут назад, Shureg сказал: Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер Да, есть такое.. Как вариант, можно конечно, подключить его, как текст, не как файл... То есть вместо <script src="catalog/view/javascript/common.js" type="text/javascript"></script> просто вывести содержимое файла (оригинала или модифицированного), обернутое в <script></script> в header.tpl|twig Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Тогда не надо через php грузить. Ну вообщем, вопрос вполне решаемый, мне кажется. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Shureg Опубліковано: 1 січня 2022 Share Опубліковано: 1 січня 2022 11 минут назад, Prooksius сказал: Так я же и изменил дефолтный common.js через модификатор: Да, спасибо, теперь понял смысл ваших действий. Работать, конечно, будет. Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер 1 Надіслати Поділитися на інших сайтах More sharing options...
Prooksius Опубліковано: 1 січня 2022 Автор Share Опубліковано: 1 січня 2022 9 минут назад, Shureg сказал: Но как-то очень уж это неправильно - при каждом открытии страницы для загрузки отдельного файлика раскочегаривать еще один дополнительный процесс. Почти двойная нагрузка на сервер Да, есть такое.. Как вариант, можно конечно, подключить его, как текст, не как файл... То есть вместо <script src="catalog/view/javascript/common.js" type="text/javascript"></script> просто вывести содержимое файла (оригинала или модифицированного), обернутое в <script></script> в header.tpl|twig Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Тогда не надо через php грузить. Ну вообщем, вопрос вполне решаемый, мне кажется. Надіслати Поділитися на інших сайтах More sharing options... 2 years later... fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 3
fortoonas Опубліковано: 6 січня Share Опубліковано: 6 січня 01.01.2022 в 12:30, Prooksius сказал: Либо копировать модифицированный файл в папку с оригинальным с новым именем и его подключать в header.tpl Спасибо за идею, так и сделал! if (file_exists(DIR_MODIFICATION . 'catalog/view/javascript/common.js')) { copy(DIR_MODIFICATION . 'catalog/view/javascript/common.js', 'catalog/view/javascript/common_modif.js');// делаем копию common_modif.js $this->document->addScript('catalog/view/javascript/common_modif.js'); } else { if (file_exists(DIR_APPLICATION . 'view/javascript/common_modif.js')){ unlink(DIR_APPLICATION . 'view/javascript/common_modif.js'); // удаляем common_modif.js } $this->document->addScript('catalog/view/javascript/common.js'); } В контролер Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts