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


Обновлен демо-сайт на Shopkeeper 3.2.7

  • Что реализовано:

    • Есть примеры двух типов товаров: ресурсы MODX и товары, созданные в MIGXDB
    • Фильтрация в каталоге
    • Корзина товаров
    • Мультивалютность
    • Регистрация, авторизация, восстановление пароля для пользователей
    • Подарочные карты и скидки
    • Форма обратной связи
    • Блоки "Новинки" и "Лидеры продаж"
    • Избранные товары

    Что включено

    • MODX Revolution 2.5.5-pl
    • Shopkeeper 3.2.7pl2
    • TagManager 2.3.1pl2
    • getProducts 1.4-rc2
    • getPage 1.2.4-pl
    • Compare 1.1-pl
    • Login 1.9.2-pl
    • FormIt 2.2.11-pl
    • coolcaptchafihook 1.3-pl
    • Wayfinder 2.3.3-pl
    • menuCaching 1.0-pl
    • MIGX 2.9.6-pl
    • phpThumbOn 1.3.1-pl
    • QuickCrumbs 1.0.1-pl (модифицированный)
    • TinyMCE Rich Text Editor 1.1.1-pl
    • translit 1.0.0-beta

    Демо
    Скачать

  • @Andchir Не очень удачно разворачивается на локале, админка есть, страницы не отображает, все настроил по инструкции

  • @Rastarob попробуйте подправить корневой .htaccess. Без этого дружественные URL на OpenServer не работали.

    # MODX supports Friendly URLs via this .htaccess file. You must serve web
    # pages via Apache with mod_rewrite to use this functionality, and you must
    # change the file name from ht.access to .htaccess.
    #
    # Make sure RewriteBase points to the directory where you installed MODX.
    # E.g., "/modx" if your installation is in a "modx" subdirectory.
    #
    # You may choose to make your URLs non-case-sensitive by adding a NC directive
    # to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
    
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /
    
    
    
    # Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
    #RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
    #
    # or for the opposite domain.com -> www.domain.com use the following
    # DO NOT USE BOTH
    #
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
    #RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]
    
    
    
    # Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
    # https://www.domain.com when your cert only allows https://secure.domain.com
    #RewriteCond %{SERVER_PORT} !^443
    #RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
    
    
    
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    
    
    
    
    
    # Make sure .htc files are served with the proper MIME type, which is critical
    # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
    
    #AddType text/x-component .htc
    
    
    
    # If your server is not already configured as such, the following directive
    # should be uncommented in order to set PHP's register_globals option to OFF.
    # This closes a major security hole that is abused by most XSS (cross-site
    # scripting) attacks. For more information: http://php.net/register_globals
    #
    # To verify that this option has been set to OFF, open the Manager and choose
    # Reports -> System Info and then click the phpinfo() link. Do a Find on Page
    # for "register_globals". The Local Value should be OFF. If the Master Value
    # is OFF then you do not need this directive here.
    #
    # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
    #
    # Your server does not allow PHP directives to be set via .htaccess. In that
    # case you must make this change in your php.ini file instead. If you are
    # using a commercial web host, contact the administrators for assistance in
    # doing this. Not all servers allow local php.ini files, and they should
    # include all PHP configurations (not just this one), or you will effectively
    # reset everything to PHP defaults. Consult www.php.net for more detailed
    # information about setting PHP directives.
    
    #php_flag register_globals Off
    
    
    
    # For servers that support output compression, you should pick up a bit of
    # speed by un-commenting the following lines.
    
    #php_flag zlib.output_compression On
    #php_value zlib.output_compression_level 5
    
    
    
    # The following directives stop screen flicker in IE on CSS rollovers. If
    # needed, un-comment the following rules. When they're in place, you may have
    # to do a force-refresh in order to see changes in your designs.
    
    #ExpiresActive On
    #ExpiresByType image/gif A2592000
    #ExpiresByType image/jpeg A2592000
    #ExpiresByType image/png A2592000
    #BrowserMatch "MSIE" brokenvary=1
    #BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
    #BrowserMatch "Opera" !brokenvary
    #SetEnvIf brokenvary 1 force-no-vary
    
    
  • Участник @Rastarob написал в Обновлен демо-сайт на Shopkeeper 3.2.7:

    @Andchir Не очень удачно разворачивается на локале, админка есть, страницы не отображает, все настроил по инструкции

    Кэш чистили?

  • А у меня распаковка не идет почему то...
    0_1490379657137_upload-a952c1a1-2ab7-4406-89a8-a7c32a6f2b3b

  • @Geminis распаковывайте вручную и смотрите предыдущую тему

  • @slaad Попробовал вручную и теперь вот такая ошибка
    0_1490386286571_upload-eb0fb03f-96ec-4b4c-991e-7d5bef44977e

  • @Geminis это не ошибка, жмите пропустить

  • @slaad Спасибо!

  • Так же на локале, админка теперь есть, хотя изначально тоже была белая страница, страницы сайта не отображает.
    Если после авторизации сразу перейти например site.ru/manager/?a=security/profile — то админка открывалась, но просто site.ru/manager/ — не работало.
    По совету отключила Отображение RSS-канала «Уведомления безопасности MODX». Админка стала подгружаться без проблем, но главная сайта так и остался белой страницей. Другие каталоги выводятся с ошибкой - "Вероятнее всего, сервер пытается найти файл Z:/home/localhost/www/katalog/, которого не существует."
    .htaccess поправила как написано выше, но ничего не изменилось.

  • @Olika

    "Белая страница" - это значит ошибка. Включите вывод ошибок PHP и смотрите в чём причина. В настройках MODX нужно включить режим "debug". Так же "display_errors" можно включить в .htaccess.

  • @Andchir В журнале пусто. Debug включила.

  • @Andchir пробовала подставлять на демо-сайт другую базу данных от рабочего сайта modx - с ней страница подгружается. А база данных демо-сайта на другом modx выдает такой же результат - пустую страницу. Может быть проблема с базой данных? Еще такой момент, при установке распаковка файлов архива по инструкции не происходила в полном объеме, приходилось распаковывать вручную.

  • @Olika

    Какая версия PHP?

    Попробуйте в /manager/index.php перед строкой

    $modx->initialize('mgr');
    

    добавить:

    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    

    Или просто найти лог PHP ошибок и посмотреть там.

  • @Andchir В логах:
    ‘Ёб⥬Ґ ­Ґ г¤ Ґвбп ­ ©вЁ гЄ § ­­л© Їгвм.
    [Mon Mar 27 05:11:45 2017] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://

  • После добавления нового tv в xml schema и сохранения, пропали все товары (элементы) во всех категориях migx. Проверила базу данный shop_content, там все на месте. Новый созданный элемент не сохраняется. Подскажите где я могла ошибиться?

  • @Olika судя по предыдущим вашим сообщениям, у вас проблемы с кодировкой. Для начала нужно исправить эту проблему. Потом смотреть логи.

  • @Andchir предыдущая проблема была на Денвере, я решила от него отказаться ,так как при установке демо-сайта на хостинг этого все прошло гладко. А вторая проблема уже не на локальном хостинге появилась, а после удаления нового поля проблема исчезла. Элементы появились снова. Ну попробую логи прочесть, может что и пойму, спасибо. А с кодировкой видимо действительно есть какая-то проблема.

  • После добавления нового tv в xml schema и сохранения, пропали все товары (элементы) во всех категориях migx.

    Нужны подробности как вы добавляли поле.

  • @Olika удалось разобраться в чем ошибка была? а то страшновато так на рабочем без товаров в миг остаться

 

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

  • а редактируются они через CMP

    Покажите скриншот. Не понял что за CMP. Но если и не подвязаны, оставьте значение, которое было.
    Вот мой скриншот:
    0_1565682115311_screenshot_179.png

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

    Участник @Andchir написал в Экспорт/импорт данных из таблиц пакетов MIGX db через плагин CatalogFill:

    MIGXDB

    какие родители в элементах migx db?
    это элементы, которые к ресурсам никак не подвязаны!
    а редактируются они через CMP

    Читать далее
  • //Название поля ID родителя $cf_config['parent_field'] = false;

    Почему так? В MIGXDB документы должны иметь родителя. Иначе как вы их добавляете/редактируете в админке?

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

    отключил, очистил
    далее http://joxi.ru/12MEdEvtloelG2 -> http://joxi.ru/VrwXwXZt7RN7Mm
    в журнале ошибок - пусто
    код настройки

    <?php //Название класса таблицы товаров в БД $cf_config['className'] = 'delivery_flight'; //Название пакета таблицы товаров в БД $cf_config['packageName'] = 'delivery_schedule'; //Название поля ID родителя $cf_config['parent_field'] = false; //разбивка по столбцам при импорте и экспорте (content|tv|category) $cf_config['content_row'] = array( array('ID',array('id','content')), array('Наименование',array('name','content')), array('Время',array('time','content')), array('Откуда',array('from','content')), array('Время в пути',array('duration','content')), array('Куда',array('to','content')), array('Время прибытия',array('arrival_time','content')), array('Стоимость',array('price','content')), array('Тариф',array('delivery_rate_id','content')), array('Сортировка',array('sort','content')), ); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, //'template' => 9 'createdon' => strtotime("now") //'publishedon' => strtotime("now") //'pub_date' => strtotime("now") //'editedby' => 1 //'editedon' => strtotime("now") ), 'tv' => array( //7 => 0 ) ); //первая строка - названия полей $cf_config['include_captions'] = true; //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 300; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = false; //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_tvid_val'] = false; //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field) $cf_config['imp_if_not_exist'] = true; //удалять HTML-теги при экспорте $cf_config['exp_strip_tags'] = false; //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false; //Изменить значения поля для всех вложенных товаров до начала импорта. //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе. //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым) $cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены //удалить файл после экспорта (скачивания) $cf_config['exp_delete_file'] = false; //кодировка CSV-файла при экспорте $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251' //Импортировать (обновлять) пустые значения $cf_config['imp_empty'] = true; //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import". $cf_config['imp_custom_processor'] = ''; //путь (xpath) в XML структуре до товаров $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers'; //Структура XML файла для импорта $cf_config['imp_xml_structure'] = ''; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = true; //функция для фильтрации значений при ИМПОРТЕ function filter_import($value_arr){ $output_arr = $value_arr; /* if(isset($output_arr['content']['pagetitle'])) $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8'); */ return $output_arr; } //функция для фильтрации значений при ЭКСПОРТЕ function filter_export($value_arr,$doc_id=0){ $output_arr = $value_arr; //var_dump($value_arr,$output_arr); //exit; /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; } ?>

    shema пакета, для которого написана настройка

    <model package="delivery_schedule" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" version="1.1"> <object class="delivery_rate" table="delivery_rates" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="color" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="desc" dbtype="text" phptype="string" null="false" default="" /> <field key="sort" dbtype="int" precision="10" phptype="integer" null="false" default="500"/> <field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" /> <field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="1" /> <field key="createdon" dbtype="datetime" phptype="datetime" null="true"/> </object> <object class="delivery_flight" table="delivery_flights" extends="xPDOSimpleObject"> <field key="name" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="from" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="time" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="duration" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="to" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="arrival_time" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="price" dbtype="varchar" precision="255" phptype="string" null="false" default=""/> <field key="sort" dbtype="int" precision="10" phptype="integer" null="false" default="500"/> <field key="delivery_rate_id" dbtype="int" precision="10" phptype="integer" null="false" default="0"/> <field key="deleted" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="0" /> <field key="published" dbtype="tinyint" precision="1" attributes="unsigned" phptype="integer" null="false" default="1" /> <field key="createdon" dbtype="datetime" phptype="datetime" null="true"/> <aggregate alias="Delivery_rate" class="delivery_rate" local="delivery_rate_id" foreign="id" cardinality="one" owner="foreign" /> </object> </model>

    Читать далее