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

Добавить поддержку html к полю attribute


Recommended Posts

Добрый день! Просьба помочь разобраться с проблемой, необходимо чтобы в поле вывода атрибутов поддерживался ввод html кода, аналогично описанию.

Тоесть сейчас на сайте необходимо реализовать атрибут - состав, где указано около 20 параметров товара, все эти данные есть в виде таблиц.

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

так а зачем там нтмл ? сделайте группу атрибутов состав

потом через импортэкспорт банально в экселе добавьте свои составы да и все к тому же они у Вас уже в таблицах

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

так а зачем там нтмл ? сделайте группу атрибутов состав

потом через импортэкспорт банально в экселе добавьте свои составы да и все к тому же они у Вас уже в таблицах

У товара порядка 20 параметров в составе, при том некоторые идут в подразделах. они все есть в виде таблиц что идут на упаковке продуктов. в данный момент атрибуты даже не поддерживают перенос на след строку :(
Надіслати
Поділитися на інших сайтах

ну наверно мы просто более уперты :-) и вдолбили руками

было бы 100 товаров вбил бы, а их 500 при том не у всех одно и тоже в составе)) придется ручками более 100 параметров вбивать
Надіслати
Поділитися на інших сайтах

Да :-) но это при заполнении товаров еще на старой версии :-) в итоге около 5000 товаров получилось около 100к характеристик к ним :-) на новую все удалось перенести без перезаполнения но первый раз пришлось все вбить

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

  • 3 weeks later...

В файле admin/view/template/catalog/product_form.tpl

после строки

<script type="text/javascript" src="view/javascript/ckeditor/ckeditor.js"></script>
добавить строку

<script type="text/javascript" src="view/javascript/ckeditor/adapters/jquery.js"></script>

после блока

<?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 } ?>
добавить

$('#attribute textarea').ckeditor({
	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; ?>'
});

после строки

attributeautocomplete(attribute_row);
добавить

$('#attribute-row' + attribute_row + ' textarea').ckeditor({
		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; ?>'
	});
  • +1 6
Надіслати
Поділитися на інших сайтах

а вот немного сложный способ который позволяет забить атрибуты из таблиц этот способ хорош только при большом количестве товаров и их атрибутов

1)набиваем вручную несколько товаров с их атрибутами

2)экспортируем данные с помощью модуля import /export

3)INTERNET EXPLOREROM заходим на сайт к соторого хотим взять данные

4)Таблицу с названиями атрибутов и их значениями копируем и вставляем в эксел переходим к следующему товару и повторяем процедуру вторую таблицу вставляем под первой и так много раз

5) открываем таблицу экспортированную из опенкарт и вставляем в нужные столбцы те данные которые мы собрали в пункте 4

5.1)

6)в екселе включаем автофильтр и делаем фильтрацию по одному из названий атрибутов

сгруппировав таким образом строки мы видим что некоторые строки были в исходном документе (в этих строках заполнены все необходимые значения) а остальные добавлены нами теперь нам остается только скопировать недостающие значения из старых строк в новые

7)пункт 6 выполняем для всех названий атрибутов

8) отключаем автофильтр и улаживаем вопрос с нумерацией product_id

9) переходим во вкладку products и под номером product_id который получила та или иная таблица вводим название товара который ей соответствует

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


  • 5 months later...
  • 4 months later...
  • 2 months later...

Маленькое дополнение к посту от Yesvik.

Что бы наш html не превращался в обычный текст, а оставался html.

В файле admin/model/catalog/product.php

ищем строку

foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {

после нее добавляем

$product_attribute_description['text'] = html_entity_decode($product_attribute_description['text'], ENT_QUOTES, 'UTF-8');

По скольку <p> в редакторе вставляется везде, а после </p> у нас идет пустое место, то это не очень красиво смотрится, поэтому:

В файле catalog/view/theme/default/stylesheet/stylesheet.css нужно добавить в любое место или после.tab-content { ... }

.tab-content p { margin-bottom:0px; }

После .compare-info .price-new { ... } или в любое другое место добавляем

.compare-info p { margin-bottom: 0px; }

Таким образом мы задали отступ снизу для тэга p равный 0 (на странице продукта и странице сравнения).

  • +1 3
Надіслати
Поділитися на інших сайтах


  • 5 months later...

Маленькое дополнение к посту от Yesvik.

Что бы наш html не превращался в обычный текст, а оставался html.

В файле admin/model/catalog/product.php

ищем строку

foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {
после нее добавляем

$product_attribute_description['text'] = html_entity_decode($product_attribute_description['text'], ENT_QUOTES, 'UTF-8');

 

В файле admin/model/catalog/product.php строка 

foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {

присутствует два раза. 

Добавлял также два раза. Ничего не произошло :(

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

  • 1 year later...

РЕСПЕКТОС - СРАБОТАЛО НА ОКСТОРЕ 1.5.5.1.2

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

  • 1 year later...

Если атрибуты закинули импортом в товары, то на странице отображается просто текстом всё.

Для того чтобы сразу появлялась html разметка в файле:

\catalog\view\theme\so-shoppystore\template\product\product.php

нужно добавить примерно те же строчки, скорее всего этого, наверное, хватило бы...

 

Перед 

<?php echo $attribute['text']; ?>

 

добавил

<?php
$attribute['text'] = html_entity_decode($attribute['text'], ENT_QUOTES, 'UTF-8');
?>
 
Данный вывод атрибута встречается три раза - для вывода в разных местах...
opencart 2.1 у меня
Надіслати
Поділитися на інших сайтах


  • 2 months later...
  • 5 months later...
В 30.07.2012 в 20:17, Tom сказал:

На ocStore 2.1.0.2.1 не работает, а очень нужно. Может быть есть другие аналогичные решения?

 

В идеале, чтобы было как здесь (только там мод для опций)

Мод изменяет вывод опций картинок, теперь текст выводится при наведении тултипом

post-711086-0-05070900-1470162407_thumb.pngpost-711086-0-26449400-1470162420_thumb.png

 

То есть, чтобы атрибут не просто выводился картинкой, а еще при наведении на него выпадало бы подробное описание.

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


6 часов назад, Paint сказал:

На ocStore 2.1.0.2.1 не работает, а очень нужно. Может быть есть другие аналогичные решения?

 

Прошу прощения, работает. Не увидел редактора текста в поле Текст на вкладке Атрибуты в карточке товара и решил, что не работает. Прочитал инструкцию. Оказалось, редактор текста вызывается двойным кликом на поле Текст.

 

Подскажите пример HTML кода, чтобы было как на примере выше, т.е. при клике (или наведении) на картинку, чтобы выше в окошке текст с описанием выпадал.

post-711086-0-26449400-1470162420_thumb.png

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


  • 1 year later...
В 30.07.2012 в 21:17, Tom сказал:

Поставил этот модуль. Он работает, но с summernote. А в меня включен редактор CKEDITOR. Подскажите пожалуйста, что надо изменить чтобы вызывался редактор CKEDITOR.

 

<file path="admin/view/template/catalog/product_form.tpl">
    <operation>
        <search><![CDATA[
        <?php echo $footer; ?>
        ]]></search>
        <add position="before"><![CDATA[
        <script type="text/javascript"><!--
        function htmlProductAttribute(textarea) {
            if (!textarea.hasClass('htmlProductAttribute')) {
                textarea.addClass('htmlProductAttribute');
                textarea.tooltip({'title': 'Double Click for HTML'});
                textarea.on('dblclick', function() {
                    textarea.summernote({height: 100});
                    $('#attribute .note-editor.note-frame.panel').css('margin-bottom', '1px');
                });
            }
        }

        $('#attribute textarea[name^="product_attribute["]').each(function(i, e) {
            htmlProductAttribute($(this));
        });

        $('#attribute').on('click', function() {
            $(this).find('textarea[name^="product_attribute["]').each(function(i, e) {
                htmlProductAttribute($(this));
            });
        });
        //--></script>
        ]]></add>
    </operation>
</file>
<file path="catalog/model/catalog/product.php">
    <operation>
        <search><![CDATA[
        $product_attribute_data[] = array(
        ]]></search>
        <add position="before"><![CDATA[
        $product_attribute['text'] = html_entity_decode($product_attribute['text'], ENT_QUOTES, 'UTF-8');
        ]]></add>
    </operation>
</file>
</modification>

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


  • 1 month later...
В 23.12.2018 в 14:57, tadi сказал:

Поставил этот модуль. Он работает, но с summernote. А в меня включен редактор CKEDITOR. Подскажите пожалуйста, что надо изменить чтобы вызывался редактор CKEDITOR.

 

Удалось решить эту проблему? Я меня тоже CKEditor, который функциональнее summernote

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


Как мне объяснили, перевести на CKEditor сложно. Лучше сделать, чтобы к полям описания саммерноут не подцеплялся, а подцеплялся только к атрибутам. В общем будут работать оба редактора -  summernote на атрибуты, CKEditor  остальное. Но я пока решил не менять себе шаблон под такое.

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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