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

Вывод описания производителя на странице manufacturer_list


ravlex

Recommended Posts

Не получается вывести описание на manufacturer_list. На странице manufacturer_info у меня получилось вывести их таким образом файл ocmode:
 

<modification>
<id>Manufacturer Description</id>
        <code>Manufacturer-Description</code>
        <name>Manufacturer Description Extension</name>
<author><![CDATA[tabook]]></author>
<version>0.1.0</version>
    <file path="admin/language/english/catalog/manufacturer.php">
        <operation>
            <search><![CDATA[<?php]]></search>
            <add position="after"><![CDATA[$_['entry_description']  = 'Description';]]></add>
        </operation>
    </file>
    <file path="admin/language/russian/catalog/manufacturer.php">
        <operation>
            <search><![CDATA[<?php]]></search>
            <add position="after"><![CDATA[$_['entry_description']  = 'Описание';]]></add>
        </operation>
    </file>
    <file path="admin/controller/catalog/manufacturer.php">
        <operation>
            <search><![CDATA[$data['entry_name'] = $this->language->get('entry_name');]]></search>
            <add position="after"><![CDATA[$data['entry_description'] = $this->language->get('entry_description');]]></add>
        </operation>
        <operation>
            <search><![CDATA[$this->load->model('setting/store');]]></search>
            <add position="before"><![CDATA[
        $this->load->model('localisation/language');


        $data['languages'] = $this->model_localisation_language->getLanguages();


        if (isset($this->request->post['manufacturer_description'])) {
            $data['manufacturer_description'] = $this->request->post['manufacturer_description'];
        } elseif (!empty($manufacturer_info)) {
            $data['manufacturer_description'] = $this->model_catalog_manufacturer->getManufacturerDescriptions($this->request->get['manufacturer_id']);
        } else {
            $data['manufacturer_description'] = array();
        }]]></add>
        </operation>
    </file>
    <file path="admin/model/catalog/manufacturer.php">
        <operation>
            <search><![CDATA[public function getTotalManufacturers() {]]></search>
            <add position="before"><![CDATA[
public function getManufacturerDescriptions($manufacturer_id) {
        $manufacturer_description_data = array();


        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");


        foreach ($query->rows as $result) {
            $manufacturer_description_data[$result['language_id']] = array(
                'description'      => $result['description']
            );
        }


        return $manufacturer_description_data;
    }
        ]]></add>
        </operation>
        <operation>
            <search><![CDATA[$manufacturer_id = $this->db->getLastId();]]></search>
            <add position="after"><![CDATA[
        foreach ($data['manufacturer_description'] as $language_id => $value) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']). "'");
        }
        ]]></add>
        </operation>
        <operation>
            <search><![CDATA[$this->event->trigger('pre.admin.manufacturer.edit', $data);]]></search>
            <add position="after"><![CDATA[
        $this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");


        foreach ($data['manufacturer_description'] as $language_id => $value) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']). "'");
        }
        ]]></add>
        </operation>
        <operation>
            <search><![CDATA[$this->event->trigger('pre.admin.manufacturer.delete', $manufacturer_id);]]></search>
            <add position="after"><![CDATA[
$this->db->query("DELETE FROM " . DB_PREFIX . "manufacturer_description WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
        ]]></add>
        </operation>
    </file>
    <file path="admin/view/template/catalog/manufacturer_form.tpl">
        <operation>
            <search><![CDATA[</form>]]></search>
            <add position="before"><![CDATA[
                    <div class="form-group">
                        <label class="col-sm-2 control-label"><?php echo $entry_description; ?></label>
                        <div class="col-sm-10">
                            <ul class="nav nav-tabs" id="language">
                                <?php foreach ($languages as $language) { ?>
                                <li><a href="#language<?php echo $language['language_id']; ?>" data-toggle="tab"><img src="view/image/flags/<?php echo $language['image']; ?>" title="<?php echo $language['name']; ?>" /> <?php echo $language['name']; ?></a></li>
                                <?php } ?>
                            </ul><div class="tab-content">
                            <?php foreach ($languages as $language) { ?>
                            <div class="tab-pane" id="language<?php echo $language['language_id']; ?>">
                                <textarea name="manufacturer_description[<?php echo $language['language_id']; ?>][description]" rows="5" id="input-manufacturer-description<?php echo $language['language_id']; ?>" class="form-control"><?php echo isset($manufacturer_description[$language['language_id']]) ? $manufacturer_description[$language['language_id']]['description'] : ''; ?></textarea>
                            </div>
                            <?php } ?></div>
                        </div>
                    </div>
]]></add>
        </operation>
        <operation>
            <search><![CDATA[<?php echo $footer; ?>]]></search>
            <add position="before"><![CDATA[
<script type="text/javascript"><!--
    <?php foreach ($languages as $language) { ?>
        $('#input-manufacturer-description<?php echo $language['language_id']; ?>').summernote({height: 300});
    <?php } ?>
$('#language a:first').tab('show');
    //--></script>
        ]]></add>
        </operation>
    </file>z
    <file path="catalog/controller/product/manufacturer.php">
        <operation>
            <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search>
            <add position="after"><![CDATA[$data['description'] = html_entity_decode($manufacturer_info['description'], ENT_QUOTES, 'UTF-8');]]></add>
        </operation>
    </file>
    <file path="catalog/model/catalog/manufacturer.php">
        <operation>
            <search><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m.manufacturer_id = '" . (int)$manufacturer_id . "' AND m2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");]]></search>
            <add position="replace"><![CDATA[$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (m.manufacturer_id = md.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m.manufacturer_id = '" . (int)$manufacturer_id . "' AND m2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");]]></add>
        </operation>
        <operation>
            <search><![CDATA[$sql = "SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";]]></search>
            <add position="replace"><![CDATA[$sql = "SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (m.manufacturer_id = md.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') ."'";]]></add>
        </operation>
        <operation>
            <search><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY name");]]></search>
            <add position="replace"><![CDATA[$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (m.manufacturer_id = md.manufacturer_id AND md.language_id = '" . (int)$this->config->get('config_language_id') . "') LEFT JOIN " . DB_PREFIX . "manufacturer_to_store m2s ON (m.manufacturer_id = m2s.manufacturer_id) WHERE m2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY name");]]></add>
        </operation>
    </file>
    <file path="catalog/view/theme/default/template/product/manufacturer_info.tpl">
        <operation>
            <search><![CDATA[<h2><?php echo $heading_title; ?></h2>]]></search>
            <add position="after"><![CDATA[
<?php if ($description) { ?>
            <div class="manufacturer-info"><?php echo $description; ?></div>
            <?php } ?>
]]></add>
        </operation>
    </file>
</modification>
 
И добавлением в БД нескольких полей:
CREATE TABLE `oc_manufacturer_description` (
  `manufacturer_id` int(11) NOT NULL default '0',
  `language_id` int(11) NOT NULL default '0',
  `description` text NOT NULL,
  PRIMARY KEY  (`manufacturer_id`,`language_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Но на странице всех брендов код
<?php if ($description) { ?>
            <div class="manufacturer-info"><?php echo $description; ?></div>
<?php } ?>
ничего не выводит. Помогите решить эту проблему, пожалуйста.
Надіслати
Поділитися на інших сайтах


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

http://demo.myopencart.com/brands/

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

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

http://demo.myopencart.com/brands/

Есть магазин одежды, в нем есть коллекции одежды. Я переделал список производителей (manufacturer) в коллекции. На странице списка производителей сделал вывод изображений и ссылок (алфавитный список переделал). Но теперь у меня две проблемы: вывод описания производителя и пагинация на странице брендов(коллекций). 

Подскажите пожалуйста, как её решить? Или проще использовать категории для вывода коллекций (в таком случае нужна будет страница с выводом определённых категорий, что пока тоже не знаю, как реализовать) ?

Змінено користувачем ravlex
Надіслати
Поділитися на інших сайтах


Примерно так.В контроллер там где название и ссылка (после  'name' =>  ....)  добавляем

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 200) . '..',

в шаблон

<?php echo $manufacturer['description']; ?>
Надіслати
Поділитися на інших сайтах

 

Примерно так.В контроллер там где название и ссылка (после  'name' =>  ....)  добавляем

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 200) . '..',

в шаблон

<?php echo $manufacturer['description']; ?>

Не помогает, Notice: Undefined variable: manufacturer in /var/www/www-root/data/www/www.mactedesign.com/catalog/view/theme/default/template/product/manufacturer_list.tpl on line 8

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


Более внимательно вникнуть в то что я написал и всё получится .

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

Более внимательно вникнуть в то что я написал и всё получится .

Спасибо! Получилось. А не подскажите ещё, пожалуйста, как сделать пагинацию на этой странице? 

Змінено користувачем ravlex
Надіслати
Поділитися на інших сайтах


Посмотреть как организована пагинация для категорий.

Смотрел, пытался сделать но не генерирует новые страницы.

Змінено користувачем ravlex
Надіслати
Поділитися на інших сайтах


Более внимательно вникнуть в то что я написал и всё получится .

А не подскажите, ограничить количество выводимых позиций брендов? Допустим, мне нужно только первые 3.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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