Перейти к содержанию
dnutsa

[Решено] Вывод текста переменной в карточке товара

Рекомендуемые сообщения

Здравствуйте! В карточке товара есть описание, содержащее переменные. Сейчас работают следующие вставки:

<?php echo $heading_title; ?>
<?php echo $model; ?>

и

<a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?>

Хочу, как минимум, вывести еще что-то типа

<?php echo $subcategory; ?>

Ну или $category, $category_id, $subcategory['name']: не могу найти переменную для вывода подкатегории.

Подскажите, пожалуйста, как правильно описать эту переменную в контроллере и вывести ее в product.tpl.

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решено. Сделал следующее:

В контроллере (product.php) после

$product_info = $this->model_catalog_product->getProduct($product_id);

вставил

$this->data['text_category'] = $this->language->get('text_category');				$querycats = $this->model_catalog_product->getCategories($product_id);				$categories = array();				foreach( $querycats as $item ) {					$categ = $this->model_catalog_category->getCategory($item['category_id']);					$catinfo['id'] = $item['category_id'];					$catinfo['href'] = $this->url->link('product/category', 'path=' . $item['category_id']);					$catinfo['name'] = $categ['name'];					$categories[] = $catinfo;				}

Там же, перед

$this->data['manufacturer'] = $product_info['manufacturer'];

вставил

$this->data['categories'] = $categories;

Далее идем в Language (product.php) и после

$_['text_manufacturer'] = 'Производитель:';

вставляем

$_['text_category'] = 'Категория:';

Ну и, наконец, в product.tpl (где необходимо) добавляем

<?php if( $categories ): ?>				<span><?php echo $text_category; ?></span>				<?php foreach( $categories as $category ): ?>					<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> 				<?php endforeach; ?>				<br />			<?php endif; ?>

П.С.: спасибо товарищу andrei.bogdan c opencart.com за элегантное и простое решение. Кстати, там оно выложено в VQMod'e

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От shurik
      Скачать/Купить дополнение


      Модуль констант ( статических данных )
      Opencart модуль, позволяющий создавать константы ( статические записи, дополнительные поля, переменные ), и затем использовать их в коде.
      Модуль отлично подходит для тех ситуаций, когда нужно создать копирайт, несколько телофонов, слоган и.т.п
      То есть данные, которые можно будет потом изменять прямо в админке.
      Для front-end'a доступна только модель для вывода полей.
      Код есть на github -> https://github.com/venomjke/ocmodule_constants
      Добавил shurik Добавлено 30.11.2012 Категория Модули  
    • От grechanyuk
      Доброго времени суток! Имеется OpenCart 2.3, сейчас настраиваю вывод договора с заполненными данными пользователя, но они все никак не хотят отображаться в tpl
      Контроллер:
      $this->load->model('account/signup'); $vendor_data = $this->model_account_signup->getVendorDataUI(); foreach ($vendor_data AS $result) { $data['vendor_data'][] = array ( 'username' => $result['username'], 'firstname' => $result['firstname'], 'middle_name' => $result['middle_name'], 'lastname' => $result['lastname'], 'date_added' => $result['date_added'] ); $username = $result['username']; $firstname = $result['firstname']; $middle_name = $result['middle_name']; $lastname = $result['lastname']; $date_added = $result['date_added']; } $data['username'] = $username; $data['date_added'] = $date_added; $data['firstname'] = $firstname; $data['middle_name'] = $middle_name; $data['lastname'] = $lastname; $this->load->language('account/dogovor'); $data['text_head'] = $this->language->get('text_head'); $data['text_first'] = sprintf($this->language->get('text_first'), $lastname, $firstname, $middle_name); $data['text_city'] = $this->language->get('text_city'); $data['text_date'] = $this->language->get('text_date'); $data['text_head'] = $this->language->get('text_head'); $data['text_predmet'] = $this->language->get('text_predmet'); $data['text_second'] = $this->language->get('text_second'); $data['text_oplata'] = $this->language->get('text_oplata'); $data['text_third'] = $this->language->get('text_third'); $data['text_poryadok'] = $this->language->get('text_poryadok'); $data['text_fourth'] = $this->language->get('text_fourth'); $data['text_otvet'] = $this->language->get('text_otvet'); $data['text_fifth'] = $this->language->get('text_fifth'); $data['text_fors'] = $this->language->get('text_fors'); $data['text_sixth'] = $this->language->get('text_sixth'); $data['text_osob'] = $this->language->get('text_osob'); $data['text_seventh'] = $this->language->get('text_seventh'); $data['text_rekv'] = $this->language->get('text_rekv'); $data['text_eighth'] = $this->language->get('text_eighth'); $data['text_seller'] = $this->language->get('text_seller'); $data['text_nickname'] = $this->language->get('text_nickname'); $this->response->setOutput($this->load->view('common/success', $data)); Модель:
      public function getVendorDataUI() { $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "user` WHERE username = '" . (int)$this->request->get['username'] . "'"); return $query->row; } Вызов контролера происходит по ссылке вида:
      https://tu***.ru/index.php?route=account/signupsuccess&username=avrora
    • От fendile
      Здравствуйте. У меня есть часто повторяющийся кусок кода, который мне надо вставлять в разные модули. например в последнее, рекомендуемое, еще куда-то. Я вынесла этот кусок в отдельный 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
    • От webwork
      Добрый день.
      Возник вопрос переименования категории, ну и естественно существующие подкатегории и товарные страницы будут отдавать 404 ошибку, если позиций не много то этот вопрос решается просто.
      В htaccess прописывал
      RewriteCond %{QUERY_STRING} '^_route_=stroitelnaya-himiya/akrilovaya-shtukaturka-anserglob-kameschkovaya-belaya.html$' RewriteRule ^(.*)$ http://www.lbud.com.ua/decor/akrilovaya-shtukaturka-anserglob-kameschkovaya-belaya.html? [R=301,L] так все прекрасно работает если надо несколько страниц переадрессовать.
      Но что делать если их около 1000 ???
      Я попробовал использовать еще одну переменную в
      RewriteCond %{QUERY_STRING} '^_route_=stroitelnaya-himiya/^(.*)$' RewriteRule ^(.*)$ http://www.lbud.com.ua/decor/$1? [R=301,L] но почему то так не работает результат такой
      www.lbud.com.ua/decor/index.php
       
      Подскажите плз как правильно сделать???
      Заранее всем спасибо))
    • От alexstorm
      Всем привет! Подскажите, как вывести следующие переменные в виде цифр:

      1. Новый заказ (Кол-во новых заказов)

      2. Новый отзыв (Кол-во новых отзывов)

      3. Новый вопрос (Для модуля FAQ кол-во новых вопросов)

      4. Всего товаров

      Хочу улучшить юзабилити админки)

       

      И такой вопрос.. Где можно найти хлебные крошки, чтобы их подкорректировать, а если конкретно то убрать вот это - :: и слово главная..
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.