Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

meluin

Новачок
  
  • Публікації

    15
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем meluin

  1. ...Если все-таки добавлять к статьям, то нужно править catalog/controller/information/information.php. Там в методе index() найдите строку

    $this->data['description'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8');
    
    и после нее вставьте

    $this->data['heading_myvar'] = $information_info['myvar'];
    
    Тогда в шаблоне catalog/view/theme/[ваш шаблон]/template/information/information.tpl можно написать, например

    <?php echo $heading_myvar; ?>
    
    Остальное - аналогично.

     

     

    Вау! Как просто ларчик открывался! Спасибо вам. Все сразу получилось.

    Файлов нет, возможно потому, что я использую нативный опенкарт и мне приходится все СЕО штучки добавлять самостоятельно. Это крайне мучительно, но я хотя бы начинаю по немногу понимать, что происходит там внутри. Вам ещё раз спасибо. Теперь попробую все это проделать с другими страницами магазки.

     

    И надо if навернуть, чтобы если не заполнено, то какое-нить другое значение ставилось ))

  2. ребята, сорри что вклиниваюсь, но подскажите, как в контроллере header.php запихнуть $category_id?

    мысль в том, что хочу в хедере отслеживать, в какой категории (ее айди) находится покупатель в данный момент

     

    Сделай переменную $category. Для этого перед генерацией хедера поставь такой код:

    $category = empty($this->request->get['path']) ? 0 : (int) array_pop(explode('_', $this->request->get['path']));
    • +1 1
  3. Я вставляю переменную по аналогии с custom page title. То есть сперва в catalog/model/catalog/product.php:

    'myvar' => $query->row['myvar'],
    

    Далее планировалось в catalog/controller/product/information.php:

    if (!empty($information_info['myvar'])){$this->document->setMYVAR($information_info['myvar']);} else { $this->document->setMYVAR($information_info['title']);}
    
    ....
    
    $this->data['heading_myvar'] = $information_info['myvar'];
    

    Ну и потом вывод в темплейт.

     

    Для большей точности сейчас говорю именно о инфостраницах. Тут мне подсказывали, что тогда надо модель другую редактировать, но я пока не осилил это - сильно ещё не вникал, времени не было. Но тему добить стоило бы, я думаю такой вопрос в ФАКе очень бы пригодился многим. Я уверен в этом.

  4. Так добавил в модель (catalog/model/catalog/product.php):

    'myvar' => $query->row['myvar'],

    Теперь контроллер (catalog/controller/product/information.php):

    if (!empty($information_info['myvar'])){$this->document->setMYVAR($information_info['myvar']);} else { $this->document->setMYVAR($information_info['title']);}....$this->data['heading_myvar'] = $information_info['myvar'];

    Вот что-то неправильно я в контроллере делаю, потому что вызвать heading_myvar из шаблона не получается.

  5. То есть в модели (в данном случае catalog/model/catalog/information.php) должно быть "query бла-бла-бла", потом передача в контроллер, где я смогу задать имя переменной. Попробую получить с работы доступ к кода магаза, тогда смогу более точный ответ сформировать.

  6. Давайте, чтобы не путаться, обсуждать инфо-страницы. Делаю в базе:

    CREATE TABLE IF NOT EXISTS `oc_information_description` (
      `information_id` int(11) NOT NULL,
      `language_id` int(11) NOT NULL,
      `title` varchar(64) NOT NULL,
      `description` text NOT NULL,
      `cptitle` varchar(255) NOT NULL,
      `myvar` varchar(1024) NOT NULL,
      `meta_description` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `meta_keyword` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      PRIMARY KEY (`information_id`,`language_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    

    Создалось поле myvar. Про админку писать не буду, тк в ней всё получилось относительно просто, и она умеет писать в базу в это поле Теперь содержимое myvar хочется выгружать на инфостраницу. Я так понимаю для этого необходимо в файле catalog/model/catalog/information.php определить переменную, которую потом вставить в файл темплейта. Ход мыслей правильный?

  7. Ой, а вы знаете, я так и делал, только это вызывало поломку магазина, потому что переменная не определена. То есть где-то ранее я её не упомянул или упомянул, но не правильно.

     

    Ошибка получалась такая: Notice: "Undefined index: var1 in" и дальше куча мусора. Для вывода в информационных страницах и категориях, надо править состветвующие файлы? Например, catalog/model/catalog/information.php.

     

    То есть уточню. В базе в таблицах категорий, продуктов и информации  добавил поле varchar, которое содержит что-то. Теперь нужно вывести значение этого поля в темплейтах информации, категории и продукта. Если нужна какая-то ещё информация - я дам все что нужно.

  8. Да, я на все страницы хотел добавить значение. То есть я добавил новое поле varchar в таблицы category_description, product_desription и information_description. В админе поменял код и она научилась писать в базу в соответвующие поля. А вот вывести никак не получается содержимое этих полей на страницы. То есть где в шаблоне менять - я понимаю,а вот как сделать переменную - не очень понимаю.

     

    вроде надо менять вот в этих файлах:

    catalog\model\catalog\product.php

    catalog\controller\product\prduct.php (information.php, catagery.php)

     

    Но пока безуспешно.

  9. Ребят, сделал в админке значение. С админки оно сохраняется в базе. Но никак не получается вывести значение этого поля в каждой странице (

     

    Хожу около и рядом и никак. Мне каким-то образом нужно в тело всех страниц в определеное место выводить значение дополнительного поля для каждой позиции, информации и виртуальной страницы.

     

    То есть понятно, что для каждой категории, инфостраницы, продукта создано дополнительное поле. С админки данные удается передать в это поле, но не получается его значение передать в страницу с темплейтом. ((

     

    Помогите, пожалуйста, с решением. Или пните в нужном направлении, измучался уже.

     

    Спасибо.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.