fendile Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Здравствуйте. У меня есть часто повторяющийся кусок кода, который мне надо вставлять в разные модули. например в последнее, рекомендуемое, еще куда-то. Я вынесла этот кусок в отдельный tpl файл и через include подцепляю его. файл лежит в папке с шаблоном: template/new/product.tpl В этом файле помимо прочего мне нужно выводить русский текст. Почитала всяческое в интернетах и сделала так: 1) завела в файл language/russian/new/product.php <?php $_['mynewtext'] = 'траляля'; ?> 2) в new/product.tpl в нужном мне месте написала <?php echo $mynewtext; ?> 3) создала файл catalog/controller/new/product.php там написала вот такое <?php class ControllerModuleNewProduct extends Controller { protected function index() { if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); } } ?> Подозреваю, что в последнем пункте у меня косяки, так как есть всяческие мануалы, как сделать это для нового модуля, а для моего случая (когда нужно просто подцепить новый tpl файл) ничего нет:( Подскажите, как исправить, ибо на сайте вместо моей переменной "траляля" выводится Notice: Undefined variable: mynewtext Надіслати Поділитися на інших сайтах More sharing options...
Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 А если попробовать ? public function index() { Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 попробовала - не помогло :( Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 А где Вы вызываете эту переменную и как? попробовала - не помогло :( Еще у Вас class ControllerModuleNewProduct Хотя файл у Вас лежит как я понимаю catalog/controller/new/product.php То есть должно быть class ControllerNewProduct Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) И $this->response->setOutput($this->render()); Есть у Вас или нет в файле контроллера? Код весь показали? Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 (змінено) А где Вы вызываете эту переменную и как? Переменную вызываю файле template/new/product.tpl (который в свою очередь вызываю через include из latest.tpl) вот так: <?php echo $mynewtext; ?> ControllerModuleNewProduct переименовала в ControllerNewProduct, но это тоже эффекта не произвело. да, код контроллера привела полностью. такого куска текста $this->response->setOutput($this->render()); у меня не было. Строку эту я добавила, ничего не изменилось. Что еще я неправильно делаю? Змінено 10 січня 2016 користувачем fendile Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет <?php include('catalog/view/theme/'.$config->get('config_template').'/template/new/product.tpl'); ?> Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Если Вам в latest.tpl нужна переменная $mynewtext; то сделали бы так: 1. В контроллере latest $this->data['mynewtext'] = $this->getChild('new/product'); 2. В контроллере NewProrduct должны сделать return того что хотите видеть в mynewtext к примеру <?php class ControllerNewProduct extends Controller { public function index() { $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } return $this->render(); } } ?> 3. А уже в latest.tpl спокойно <?php echo $mynewtext; ?> Можно и попроще сделать не придерживаясь принципов движка. Как-то так если я правильно понял Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Отображение в tpl Автор: grechanyuk, 18 січня 2017 opencart 2.3 переменные (і ще %d) Теги: opencart 2.3 переменные username 15 відповідей 1 616 переглядів RSH 26 січня 2017 переменные в htaccess Автор: webwork, 4 жовтня 2014 переменные htaccess 3 відповіді 2 233 перегляди korsox 31 жовтня 2014 [Решено] Вывод текста переменной в карточке товара Автор: dnutsa, 24 жовтня 2013 категории карточка товара переменные 1 відповідь 2 353 перегляди dnutsa 24 жовтня 2013 Дополнительные переменные в админке Автор: alexstorm, 18 травня 2013 переменные админка 0 відповідей 1 882 перегляди alexstorm 18 травня 2013 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам добавление языковых переменных в нестандартный tpl Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 попробовала - не помогло :( Надіслати Поділитися на інших сайтах More sharing options...
Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 А где Вы вызываете эту переменную и как? попробовала - не помогло :( Еще у Вас class ControllerModuleNewProduct Хотя файл у Вас лежит как я понимаю catalog/controller/new/product.php То есть должно быть class ControllerNewProduct Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) И $this->response->setOutput($this->render()); Есть у Вас или нет в файле контроллера? Код весь показали? Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 (змінено) А где Вы вызываете эту переменную и как? Переменную вызываю файле template/new/product.tpl (который в свою очередь вызываю через include из latest.tpl) вот так: <?php echo $mynewtext; ?> ControllerModuleNewProduct переименовала в ControllerNewProduct, но это тоже эффекта не произвело. да, код контроллера привела полностью. такого куска текста $this->response->setOutput($this->render()); у меня не было. Строку эту я добавила, ничего не изменилось. Что еще я неправильно делаю? Змінено 10 січня 2016 користувачем fendile Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет <?php include('catalog/view/theme/'.$config->get('config_template').'/template/new/product.tpl'); ?> Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Если Вам в latest.tpl нужна переменная $mynewtext; то сделали бы так: 1. В контроллере latest $this->data['mynewtext'] = $this->getChild('new/product'); 2. В контроллере NewProrduct должны сделать return того что хотите видеть в mynewtext к примеру <?php class ControllerNewProduct extends Controller { public function index() { $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } return $this->render(); } } ?> 3. А уже в latest.tpl спокойно <?php echo $mynewtext; ?> Можно и попроще сделать не придерживаясь принципов движка. Как-то так если я правильно понял Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Отображение в tpl Автор: grechanyuk, 18 січня 2017 opencart 2.3 переменные (і ще %d) Теги: opencart 2.3 переменные username 15 відповідей 1 616 переглядів RSH 26 січня 2017 переменные в htaccess Автор: webwork, 4 жовтня 2014 переменные htaccess 3 відповіді 2 233 перегляди korsox 31 жовтня 2014 [Решено] Вывод текста переменной в карточке товара Автор: dnutsa, 24 жовтня 2013 категории карточка товара переменные 1 відповідь 2 353 перегляди dnutsa 24 жовтня 2013 Дополнительные переменные в админке Автор: alexstorm, 18 травня 2013 переменные админка 0 відповідей 1 882 перегляди alexstorm 18 травня 2013 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам добавление языковых переменных в нестандартный tpl Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) И $this->response->setOutput($this->render()); Есть у Вас или нет в файле контроллера? Код весь показали? Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 (змінено) А где Вы вызываете эту переменную и как? Переменную вызываю файле template/new/product.tpl (который в свою очередь вызываю через include из latest.tpl) вот так: <?php echo $mynewtext; ?> ControllerModuleNewProduct переименовала в ControllerNewProduct, но это тоже эффекта не произвело. да, код контроллера привела полностью. такого куска текста $this->response->setOutput($this->render()); у меня не было. Строку эту я добавила, ничего не изменилось. Что еще я неправильно делаю? Змінено 10 січня 2016 користувачем fendile Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет <?php include('catalog/view/theme/'.$config->get('config_template').'/template/new/product.tpl'); ?> Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Если Вам в latest.tpl нужна переменная $mynewtext; то сделали бы так: 1. В контроллере latest $this->data['mynewtext'] = $this->getChild('new/product'); 2. В контроллере NewProrduct должны сделать return того что хотите видеть в mynewtext к примеру <?php class ControllerNewProduct extends Controller { public function index() { $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } return $this->render(); } } ?> 3. А уже в latest.tpl спокойно <?php echo $mynewtext; ?> Можно и попроще сделать не придерживаясь принципов движка. Как-то так если я правильно понял Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Отображение в tpl Автор: grechanyuk, 18 січня 2017 opencart 2.3 переменные (і ще %d) Теги: opencart 2.3 переменные username 15 відповідей 1 616 переглядів RSH 26 січня 2017 переменные в htaccess Автор: webwork, 4 жовтня 2014 переменные htaccess 3 відповіді 2 233 перегляди korsox 31 жовтня 2014 [Решено] Вывод текста переменной в карточке товара Автор: dnutsa, 24 жовтня 2013 категории карточка товара переменные 1 відповідь 2 353 перегляди dnutsa 24 жовтня 2013 Дополнительные переменные в админке Автор: alexstorm, 18 травня 2013 переменные админка 0 відповідей 1 882 перегляди alexstorm 18 травня 2013 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам добавление языковых переменных в нестандартный tpl
fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 (змінено) А где Вы вызываете эту переменную и как? Переменную вызываю файле template/new/product.tpl (который в свою очередь вызываю через include из latest.tpl) вот так: <?php echo $mynewtext; ?> ControllerModuleNewProduct переименовала в ControllerNewProduct, но это тоже эффекта не произвело. да, код контроллера привела полностью. такого куска текста $this->response->setOutput($this->render()); у меня не было. Строку эту я добавила, ничего не изменилось. Что еще я неправильно делаю? Змінено 10 січня 2016 користувачем fendile Надіслати Поділитися на інших сайтах More sharing options...
Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 (змінено) Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет Змінено 10 січня 2016 користувачем Prorab337 Надіслати Поділитися на інших сайтах More sharing options... fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет <?php include('catalog/view/theme/'.$config->get('config_template').'/template/new/product.tpl'); ?> Надіслати Поділитися на інших сайтах More sharing options... Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Если Вам в latest.tpl нужна переменная $mynewtext; то сделали бы так: 1. В контроллере latest $this->data['mynewtext'] = $this->getChild('new/product'); 2. В контроллере NewProrduct должны сделать return того что хотите видеть в mynewtext к примеру <?php class ControllerNewProduct extends Controller { public function index() { $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } return $this->render(); } } ?> 3. А уже в latest.tpl спокойно <?php echo $mynewtext; ?> Можно и попроще сделать не придерживаясь принципов движка. Как-то так если я правильно понял Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Отображение в tpl Автор: grechanyuk, 18 січня 2017 opencart 2.3 переменные (і ще %d) Теги: opencart 2.3 переменные username 15 відповідей 1 616 переглядів RSH 26 січня 2017 переменные в htaccess Автор: webwork, 4 жовтня 2014 переменные htaccess 3 відповіді 2 233 перегляди korsox 31 жовтня 2014 [Решено] Вывод текста переменной в карточке товара Автор: dnutsa, 24 жовтня 2013 категории карточка товара переменные 1 відповідь 2 353 перегляди dnutsa 24 жовтня 2013 Дополнительные переменные в админке Автор: alexstorm, 18 травня 2013 переменные админка 0 відповідей 1 882 перегляди alexstorm 18 травня 2013 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
fendile Опубліковано: 10 січня 2016 Автор Share Опубліковано: 10 січня 2016 Покажите код latest.tpl, а то что-то я уже запутался... Если вы просто делаете инклуд template/new/product.tpl то результата не будет <?php include('catalog/view/theme/'.$config->get('config_template').'/template/new/product.tpl'); ?> Надіслати Поділитися на інших сайтах More sharing options...
Prorab337 Опубліковано: 10 січня 2016 Share Опубліковано: 10 січня 2016 Если Вам в latest.tpl нужна переменная $mynewtext; то сделали бы так: 1. В контроллере latest $this->data['mynewtext'] = $this->getChild('new/product'); 2. В контроллере NewProrduct должны сделать return того что хотите видеть в mynewtext к примеру <?php class ControllerNewProduct extends Controller { public function index() { $this->language->load('new/product'); $this->data['mynewtext'] = $this->language->get('mynewtext'); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/new/product.tpl')) { $this->template = $this->config->get('config_template') . '/template/new/product.tpl'; } else { $this->template = 'default/template/new/product.tpl'; } return $this->render(); } } ?> 3. А уже в latest.tpl спокойно <?php echo $mynewtext; ?> Можно и попроще сделать не придерживаясь принципов движка. Как-то так если я правильно понял Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts