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

Как вывести доп. поле в описании категории?


Recommended Posts

Подскажите
делаю по мануалу, но увы, что то идет не так
если в цикле вставляю <? echo $description2; ?>, не выводит его именно в цикле подкатегорий
если вставляю <? echo $description; ?> описание выводится в цикле
что упуская вообще не понимаю

Надіслати
Поділитися на інших сайтах


3 минуты назад, qpldl сказал:

делаю по мануалу, но увы, что то идет не так

ну так покажите что делаете

Надіслати
Поділитися на інших сайтах

4 минуты назад, fanatic сказал:

ну так покажите что делаете


ну, что всю статью цитировать?
в админке поле есть
в шаблоне у категории оно выводится, если в нее зайти
а вот в цикле подкатегорий нет (допустим зайдем в основную категорию, в подкатегориях нету этого поля) - мне вывод нужен именно там
если указать <? echo $description; ?> выводится
если указать <? echo $description1; ?>, ну то есть новое поле, почему то именно в цикле оно не выводится

Надіслати
Поділитися на інших сайтах


3 минуты назад, qpldl сказал:

ну, что всю статью цитировать?

неееее

показать что куда добавили

а в прочем, дело ваше

Надіслати
Поділитися на інших сайтах

В файле catalog\controller\product\category.php после строки
$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
добавляем:
$this->data['description1'] = html_entity_decode($category_info['description1'], ENT_QUOTES, 'UTF-8');
в файле вида шаблона catalog\view\theme\YOURTHEM\template\product\category.tpl в нужном месте добавил:
<?php if ($description1) { ?>
    <div style="margin-bottom: 15px;"><?php echo $description1; ?></div>
<?php } ?>

добавиляем в БД в таблице oc_category_description дополнительное поле description1

теперь дополняем админку

файл admin\view\template\catalog\category_form.tpl

добавляем вывод нашего поля
  <td><?php echo $entry_description; ?></td>
  <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description1]"  id="description1<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description1'] : ''; ?></textarea></td>
</tr>

$this->db->query("INSERT INTO " . DB_PREFIX . "category_description (category_id, language_id, name, meta_keywords, meta_description, description, title, h1) VALUES ('" . (int)$category_id . "', '" . (int)$language_id . "', '" . $this->db->escape($value['name']) . "', '" . $this->db->escape($value['meta_keywords']) . "', '" . $this->db->escape($value['meta_description']) . "', '" . $this->db->escape($value['description']) . "', '" . $this->db->escape($value['title']) . "', '" . $this->db->escape($value['h1']) . "')");

$
this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', description1 = '" . $this->db->escape($value['description1']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");

и 67 строка
$this->db->query("INSERT INTO " . DB_PREFIX . "category_description (category_id, language_id, name, meta_keywords, meta_description, description, title, h1) VALUES ('" . (int)$category_id . "', '" . (int)$language_id . "', '" . $this->db->escape($value['name']) . "', '" . $this->db->escape($value['meta_keywords']) . "', '" . $this->db->escape($value['meta_description']) . "', '" . $this->db->escape($value['description']) . "', '" . $this->db->escape($value['title']) . "', '" . $this->db->escape($value['h1']) . "')");


$this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', description1 = '" . $this->db->escape($value['description1']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");

ну и  строка 238 в foreach ($query->rows as $result) {

'description1' => $result['description1'],



вот собственно все то же самое сделал, но поле не выводится
кеш модификаторов чистил

Надіслати
Поділитися на інших сайтах


13 часов назад, qpldl сказал:

вставляю <? echo $description2; ?>

 

13 часов назад, qpldl сказал:

'description1' => $result['description1'],
 

 

В качестве шпаргалки. Давно делал, видимо под OcStore 2.1

 

Дополнительное-описание-категории.ocmod.xml

Надіслати
Поділитися на інших сайтах

1 час назад, Tom сказал:

 

 

В качестве шпаргалки. Давно делал, видимо под OcStore 2.1

 

Дополнительное-описание-категории.ocmod.xml 5 \u043a\u0411 · 0 downloads


Спасибо
но что то не то
при установке модификатора, появляется поле
и по дефолту оно копирует содержимое поля описание
я уже вообще запутался

Надіслати
Поділитися на інших сайтах


Я дал файл как шпаргалку.

По сути вы могли удалить своё творчество и сделать правки или в моём модификаторе, относительно ваших файлов (которые могут отличаться из за версии и сборки) или внести сразу в файлы.

Модификатор это по сути инструкция, в которой прям дословно написано :

"В файле таком то, найти такую строку и сделать следующее..."

<add position="replace"> - Найти и заменить на...

<add position="before"> - Добавить ДО

<add position="after">  - Добавить ПОСЛЕ

Надіслати
Поділитися на інших сайтах

40 минут назад, Tom сказал:

Я дал файл как шпаргалку.

По сути вы могли удалить своё творчество и сделать правки или в моём модификаторе, относительно ваших файлов (которые могут отличаться из за версии и сборки) или внести сразу в файлы.

Модификатор это по сути инструкция, в которой прям дословно написано :

"В файле таком то, найти такую строку и сделать следующее..."

<add position="replace"> - Найти и заменить на...

<add position="before"> - Добавить ДО

<add position="after">  - Добавить ПОСЛЕ

 

Благодарю Вас
это я понял
я может не правильно высказался
мне нужно поле вывести именно в цикл (что бы напр. под названием подкатегорий можно было вывести доп. поле) - этот модификатор такое сделает?
просто доп. поле мне удалось вывести именно в категорию
а вот в цикл подкатегорий никак не получается

Надіслати
Поділитися на інших сайтах


Модификатор который я дал выводит в админке дополнительное поле (полноценный HTML) для дополнительного описания категории.

 

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

Нужно добавить в контроллере ваше новое описание для подкатегорий, что то типа :

 

$data['categories'][] = array(

 .....здесь ваше описание

 

 Ну и потом в используемом шаблоне выводить в tpl(twig) в месте вывода подкатегорий.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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