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

Miomy

Користувачі
  
  • Публікації

    72
  • З нами

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

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

  1. Поправьте вот эту часть:

     

    Идем по пути: магазин/admin/model/catalog открываем файл product.php

    Ищем:

    $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");Заменяем ее на:$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', short_description = '" . $this->db->escape($value['short_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");

    У вас там код должен на два блока разбиваться ;)

    Тоже ставлю плюс за проделанную огромную работу по написании инструкции

    Тему наверное стоит переименовать в "Краткое описание товаров для OCStore"

    Спасибо, подправил.

     

    Сделал бы xml для vQmod и выложил в разделе "Дополнения" - совсем красавец был был.

    Да я как раз думал, но это все таки ответственность перед скачавшими, а на форуме я не так часто (пока). Поэтому, возможно, кто то на основе этих данных сам сделает VQ MOD и выложит его. Надеюсь бесплатно :)

  2. Итак, все что написано в этой теме, мне подошло частично, перерыл много информации, в итоге получил то, что хотел.
    Делал все на версии OCSTORE 1.5.4.1.2
    Первый, второй и третий пункт как и в той теме остается таким же:
    Итак:
     
    Создаем дополнительное поле short_description в базе данных в таблице product_description. Располагаться оно должно перед полем description. Если не знаете как это сделать, посмотрите в этой статье.
     
    Дальше идем по пути: магазин/admin/controller/catalog и открываем файл product.php
    Ищем в нем строку
    $this->data['entry_description'] = $this->language->get('entry_description');
    После нее добавляем:
    $this->data['entry_short_description'] = $this->language->get('entry_short_description');
    Идем по пути: магазин/admin/language/russian/catalog и открываем файл product.php
    Ищем строку
    $_['entry_description']   = 'Описание:';
    Перед ней добавляем:
    $_['entry_short_description']   = 'Краткое описание:';
    Идем по пути: магазин/admin/view/template/catalog и открываем файл product_form.tpl
    Ищем:
    <tr><td><?php echo $entry_description; ?></td><td><textarea name="product_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['description'] : ''; ?></textarea></td></tr>
    Перед этим делом вставляем:
    <tr><td><?php echo $entry_short_description; ?></td><td><textarea name="product_description[<?php echo $language['language_id']; ?>][short_description]" id="short_description<?php echo $language['language_id']; ?>"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['short_description'] : ''; ?></textarea></td></tr>
    В этом же файле, для того, чтобы подключить CKEditor для краткого описания ищем:
    <script type="text/javascript" src="view/javascript/ckeditor/ckeditor.js"></script> <script type="text/javascript"><!--<?php foreach ($languages as $language) { ?>CKEDITOR.replace('description<?php echo $language['language_id']; ?>', {filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>'});<?php } ?>//--></script>
    И заменяем это дело на вот это:
    <script type="text/javascript" src="view/javascript/ckeditor/ckeditor.js"></script> <script type="text/javascript"><!--<?php foreach ($languages as $language) { ?>CKEDITOR.replace('short_description<?php echo $language['language_id']; ?>', {filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>'});CKEDITOR.replace('description<?php echo $language['language_id']; ?>', {filebrowserBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashBrowseUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserImageUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>',filebrowserFlashUploadUrl: 'index.php?route=common/filemanager&token=<?php echo $token; ?>'});<?php } ?>//--></script>
    Идем в магазин/catalog/model/catalog открываем файл product.php
    Ищем строчку (У меня она 14)
    $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
    Заменяем ее на:
    $query = $this->db->query("SELECT DISTINCT *, pd.short_description, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
    В этом же файле, чуть ниже находим строку:
    'description'      => $query->row['description'],
    После нее дописываем:
    'short_description'   => $query->row['short_description'],
     
    Идем по пути: магазин/admin/model/catalog открываем файл product.php
    Ищем:
    $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
    Заменяем ее на:
    $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', short_description = '" . $this->db->escape($value['short_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
    В этом же файле ищем:
    $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
    Заменяем на:
    $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_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']) . "', short_description = '" . $this->db->escape($value['short_description']) . "', description = '" . $this->db->escape($value['description']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
    В этом же файле ищем:
    'meta_description' => $result['meta_description']
    Ставим в конце строки запятую (Если не стоит) и ниже добавляем:
    'short_description' => $result['short_description']
     
    Теперь нам нужно вывести блок краткого описания, я выводил в категориях, поэтому идем по пути: магазин/catalog/controller/product открываем файл category.php
    Ищем строчку
    'product_id'  => $result['product_id'],
    После нее вставляем:
    'short_description'  => mb_substr(html_entity_decode($result['short_description'], ENT_QUOTES, 'UTF-8'), 0, 380),
    Где 380 в моем случае максимальное колличество знаков в кратком описании
    Далее идем в магазин/catalog/view/theme/ваш_шаблон/template/product  открываем файл category.tpl
    Ищем в нем:
    <div class="description"><?php echo $product['description']; ?></div>
    И заменяем ее на:
    <div class="description"><?php echo $product['short_description']; ?></div>
     
    Вроде бы все.
    У меня вывод товаров идет сеткой, другие варианты не проверял, но думаю должно работать.
     
    PS. Надеюсь все пути правильно написал, голова не варит уже :)

    html_short_desc.jpg

    html_short_desc.jpg

    post-668979-0-68665400-1377018960_thumb.jpg

    • +1 15
  3. Модуль который вы приобрели, как мне кажется, лишний. Попробуйте сделать,то что я писал тут.

     

    Проблема лишь в том, что описание товара одинаково отображается в обоих видах (список/сетка) - и это может визуально не вписываться. Тут уже нужна более серьезная доработка, чтобы разные виды по разному отображали описание. Самым простым решением будет избавиться от описания в одном из видов отображения при помощи "display: none;"

    В принципе, наверное подойдет, попробую, самое главное что бы можно выводить вот такой каркас:

    <ul style="list-style-image: url('/imgli.png');">

    <li>Тест</li>

    <li>Тест</li>

    <li>Тест</li>

    <li>Тест</li>

    </ul>

  4. OldAine   я так понимаю товарищу нужно не просто краткое описание  вывести,а внести изменения  начиная с админки,где должно появится ещё один полноценный редактор для этого краткого описания,которое никак не связано с основным.Я одно не пойму,зачем????

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

    • Габариты мм (Ш*В*Г): 150*150*150
    • Материал: Хромированная сталь
    • Страна: Германия
    2тр

     

    Это за написание с нуля? Или за то чтобы подправить готовый модуль?

  5. Вот тут Начиная со второго поста, и дальше где то видел, что можно прикрутить CKeditor. Но как это сделать я к сожалению не в курсе, поэтому купил модуль который все должен сам сделать, но он не подходит для этой версии...

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

     

    UPD Поставил на опенкарт данный модуль, все работает :( Сможет ли кто то его переделать под OCStore

    UPD2 Естественно не бесплатно.

  7. В принципе проблема решена, но все же ищу помощи того, кто сделает вывод отдельного краткого описания товара (товары сеткой) и прикрутит html редактор. Побывал сделать сам по гайду выложенному на этом форуме, не получилось, решил не ломать. Версия OCSTORE 1.5.4.1.2 предложения тут или в личку.

    Спасибо.

  8. Добрый день, не нашел как сделать. Нужно оформить сетку товаров примерно вот так. Поле краткого описания должно поддерживать HTML, при переполнении заданной высоты и ширины полей краткого описания, названия товара и брендов, текст должен скрываться. Ну вообщем чтобы все было ровненько и красиво.

    За сколько кто возьмется за работу? Или посоветуете где поискать, может сам справлюсь? :)

    Спасибо! 

  9. Поделитесь, сложно было перенести? Вамшоп уже не радует, после перехода на опенкарт, хочется основной магазин перенести на ocstore. Сложно ли? Потеряются ли позиции по яндексу при переходе?

    Заранее спасибо за ответы \ советы.

  10. Не буду спорить, может и сложно, так кто нибудь ответит, что выйдет по цене? И сколько времени займет написание..

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

  11. Хотелось бы чтобы при выборе опции товара, менялся артикул (модель).

    Готовый модуль не нашел, может кто даст ссылку, буду очень благодарен. Если такого нету, готов заплатить за разработку, там по сути не много работы насколько я понял, но времени и знаний не хватит сделать самому :)

    Пример:

    blum24.ru/search/ru-metaboks-n-vnutrennij-jashhik.html

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

Important Information

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