Последние темы


Еще вопрос по shk3, как добавить характеристики к товару.

  • Изучаю реализацию магазина на примере демо сайта шопкипер+modx, допустим я хочу добавить характеристик к товару на страницу товара, попытался добавить используя этот мануал и у меня ничего не вышло, прошу помощи

  • https://modx-shopkeeper.ru/docs/shopkeeper-3/shopkeeper-3
    Здесь под заголовком "Дополнительные параметры товаров".

  • @Andchir не нашел как добавить, возможно как-то не правильно сформулировал вопрос, попробую поподробнее описать. Нужно добавить поля с нужными характеристиками при редактировании товаров в сетке товаров, мои действия были таковы:
    в migx:
    shop -> редактировать -> formtabs -> Основные параметры товара -> редактировать -> добавить элемент -> произвольный элемент( я добавил бренд) -> выполнить
    опять же MIGX ->package manager ->xml schema -> load schema добавляю сюда <object class="ShopContent" table="shop_content" extends="xPDOSimpleObject"> поле <field key="brand" dbtype="varchar" precision="255" phptype="string" null="true" default="" /> и сохраняю схему ну а дальше соответственно добавляю поле в табличку с характеристиками
    шаблоны -> товар <tr><td>Бренд</td><td>[[*brand]]</td></tr>
    Примечательно что при загрузке сетки товаров в редактировании появились поля но когда их заполняешь и сохраняешь страницу они становятся пустыми соответственно выводить нечего, не могу понять что и где не так сделал

  • После обновления XML схемы, нужно нажать кнопку "Add fields", чтобы обновилась структура таблицы БД. Далее можно проверить через phpMyAdmin, что поля нормально добавились.

  • Да все это делал, в бд поля добавились проверял в таблицах modx_migx_formtab_fields и modx_migx_config_elements, все равно не сохраняются параметры заданные в поле бренд

  • проверял в таблицах modx_migx_formtab_fields и modx_migx_config_elements

    Проверять нужно в таблице, которая указана в XML схеме. Она одна.
    Пример:

    <object class="ShopContent" table="shop_content" extends="xPDOSimpleObject">
    

    Здесь указана таблица "shop_content" (+ ваш префикс "modx_").

  • @Andchir нужного поля не обнаружил в этой таблице, ручками вбивать? если да то так каждое поле или как-то можно решить эту проблему?

  • Покажите полную XML схему.

  • @Andchir слишком длинное сообщение лимит 23767 символов, https://yadi.sk/d/QAhmOyk-j-MVRQ

  • Вы сами создали такую большую схему? Вроде эта схема в MIGX берется неизвестно откуда по умолчанию. Возьмите этот XML:
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/docs/shop.mysql.schema.xml
    Добавьте в него нужные правки и создайте заново пакет в MIGX.

  • @Andchir нет не я создавал это стандартная, сделал как вы написали - это не помогло добавил лишь одно поле brand в сетке товаров все так же нет сохранения и в бд не записывает поле xml

    <?xml version="1.0" encoding="UTF-8"?>
    <model package="shop" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1">
        <object class="ShopContent" table="shop_content" extends="xPDOSimpleObject">
    	<field key="resource_id" dbtype="int" precision="10" phptype="int" null="false" index="index" />
    	<field key="pagetitle" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="fulltext" indexgrp="shop_content_ft_idx" />
    	<field key="longtitle" dbtype="varchar" precision="255" phptype="string" null="false" default="" index="fulltext" indexgrp="shop_content_ft_idx"  />
    	<field key="alias" dbtype="varchar" precision="255" phptype="string" null="true" default="" index="index" />
    	<field key="deleted" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="deletedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    	<field key="deletedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="introtext" dbtype="text" phptype="string" null="true" index="fulltext" indexgrp="shop_content_ft_idx" />
    	<field key="content" dbtype="mediumtext" phptype="string" null="true" index="fulltext" indexgrp="shop_content_ft_idx" />
    	<field key="template" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="menuindex" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="editedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    	<field key="editedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="createdon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    	<field key="createdby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="publishedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    	<field key="unpublishedon" dbtype="int" precision="20" phptype="timestamp" null="false" default="0" />
    	<field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="boolean" null="false" default="0" index="index" />
    	<field key="publishedby" dbtype="int" precision="10" phptype="integer" null="false" default="0" />
    	<field key="hidemenu" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" index="index" />
    	
    	<field key="price" dbtype="float" phptype="float" null="true" default="0" />
    	<field key="image" dbtype="varchar" precision="255" null="true" default="" />
    	<field key="gallery" dbtype="mediumtext" phptype="string" null="true" index="fulltext" />
    	<field key="country" dbtype="varchar" precision="255" null="true" default="" />
    <field key="brand" dbtype="varchar" precision="255" null="true" default="" />
    	<field key="weight" dbtype="int" precision="255" phptype="integer" null="false" default="" />
    	<field key="inventory" dbtype="int" precision="255" phptype="integer" null="false" default="" />
    	<field key="rating" dbtype="int" precision="255" phptype="integer" null="false" default="" />
    	<field key="articul" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
    	<field key="tags" dbtype="varchar" precision="255" null="true" default="" />
    	<field key="param1" dbtype="varchar" precision="255" phptype="string" null="false" default="" />
    	
    	<index alias="resource_id" name="resource_id" primary="false" unique="false" type="BTREE">
                <column key="resource_id" length="" collation="A" null="true" />
            </index>
    	<index alias="alias" name="alias" primary="false" unique="false" type="BTREE">
                <column key="alias" length="" collation="A" null="true" />
            </index>
            <index alias="published" name="published" primary="false" unique="false" type="BTREE">
                <column key="published" length="" collation="A" null="false" />
            </index>
    	<index alias="hidemenu" name="hidemenu" primary="false" unique="false" type="BTREE">
                <column key="hidemenu" length="" collation="A" null="false" />
            </index>
    	
    	<index alias="shop_content_ft_idx" name="shop_content_ft_idx" primary="false" unique="false" type="FULLTEXT">
                <column key="pagetitle" length="" collation="A" null="false" />
                <column key="longtitle" length="" collation="A" null="false" />
                <column key="introtext" length="" collation="A" null="true" />
                <column key="content" length="" collation="A" null="true" />
            </index>
    	
        </object>
    </model>
    
  • Порядок действий:

    1. Открыть MIGX. В поле "Package Name" ввести название пакета. Например - shop.
    2. На вкладке "Package" нажать кнопку "Create package".
    3. На вкладке "Xml Schema" вставить код схемы и нажать кнопку "Save schema".
    4. На вкладке "Create tables" нажать кнопку "Create tables".
    5. Если надо добавить какое-то поле или удалить, то нужно обновить XML и потом нажать на кнопку на соотв. вкладке (Add fields / Remove fields).
  • @Andchir пасиб, от души

 

Последние комментарии

  • Были проблемы с отправкой эл. писем. Оказывается борьба со спамом уже переросла в борьбу с любыми массовыми рассылками. Если у вас были проблемы с получением письма со страницы "Мои покупки", то теперь это исправлено.

    Читать далее
  • В апач настройках timeout в 600 сек имеет смысл оставлять?

    Имеет, если это сработало.

    Читать далее
  • M

    @Andchir Спасибо, более маленькими пачками дело пошло, выставил 300. Была загрузка по 1000 шт.

    В апач настройках timeout в 600 сек имеет смысл оставлять? или уменьшить лучше?

    Читать далее
  • Можно попробовать уменьшить значение в параметре

    //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 300;

    (тут показано значение по умолчанию)

    Читать далее