PHPShop. Маленькие исправления

Тема в разделе "Интернет-магазины", создана пользователем Odium, 29 окт 2009.

Статус темы:
Закрыта.
  1. Odium

    Odium

    Регистр.:
    26 мар 2006
    Сообщения:
    153
    Симпатии:
    81
    Тема: [Исправление №058-059 ] Вывод каталогов (подкаталогов) в магазине клоне
    Вывод каталогов только тех, которые относятся к этому клону, а не все каталоги магазина-донара.

    Неточность:
    - Вывод в магазине клоне всех каталогов и товаров из магазина-донара. Вывод каталогов функцией @leftCatalTable@ в шаблоне index.tpl. Вывод всех каталогов в разделе "Карта сайта".

    Условия:
    PHPShop Enterprise
    Версия: с 219602 и более поздние
    Данные магазина донара на отдельном домене или в отдельной папке главного каталога.

    Полезные ссылки:
    _http://www.phpshop.ru/gbook/ID_115.html
    _http://www.phpshop.ru/news/ID_170.html
    _http://www.phpshop.ru/help/Content/control_panel/option.html#7

    Неточность:
    - Вывод в магазине клоне всех каталогов и товаров из магазина-донара. Вывод каталогов функцией @leftCatalTable@ в шаблоне index.tpl. Вывод каталогов(подкаталогов) в разделе "Карта сайта".

    Исправление:

    1. Вывод каталогов функцией @leftCatalTable@ в шаблоне index.tpl

    Файл: /phpshop/inc/catalogtable.inc.php
    Строка: 22
    Функция: Vivod_cat_table();

    1.1 Уточнаем какой в данный момент клон магазина работает. Данные из настроек сайта.
    PHP:
            #         № 0058 ODIUM         #
            ################################
            # Выше 22 строки добавляем код #
            ################################
            
    $admoption=unserialize($LoadItems['System']['admoption']);
            if(
    $admoption['base_enabled'] == 1$servers="and servers='i".$admoption['base_id']."i'";
            
    #            The And           #
    1.2 Делаем выборку правильных каталогов для клона.
    PHP:
            ##################################
            ### Заменяем SQL запрос в базу ###
            #        ОРИГИНАЛ ЗАПРОСА        #
            ###### $sql="select id,content from ".$SysValue['base']['table_name']." where parent_to=0 order by num";
            ##################################
                    
    $sql="select id,content from ".$SysValue['base']['table_name']." where parent_to=0 ".@$servers." order by num";
            
    #      № 0058 ODIUM The and      #
    Состояние: Завершено.
    Совет: В файле /phpshop/inc/catalogtable.inc.php можно подредактировать "к правильному" виду вывод ссылок в шаблонах вывода каталогов. Рекомендую использовать тэги списка <li></li> вместо "|".
    Также потребуется исправления в шаблоне templates/templates_name/catalog/catalog_table_forma.tpl, требуется заключить @catalogPodcatalog@ в тэги <ul></ul>...вот так: <ul>@catalogPodcatalog@</ul>
    :)

    Исправление:

    2. Делаем правильный вывод каталогов в разделе "Карта сайта" в магазине-клоне.

    Файл: /phpshop/inc/map.inc.php
    Строка: 120
    Функция: Vivod_ferst_map()

    2.1 Уточнаем какой в данный момент клон магазина работает. Данные из настроек сайта.
    PHP:
            #############################
            #       № 0059 ODIUM        #
            #############################
            # Выше 124 строки добавляем #
            #############################
            
    $admoption=unserialize($LoadItems['System']['admoption']);
            if(
    $admoption['base_enabled'] == 1$servers="and servers='i".$admoption['base_id']."i'";
            
    #            The And        #
    2.2 Делаем выборку правильных каталогов для клона.
    PHP:
            ##############################
            # Заменяем SQL запрос в базу #
            #        ОРИГИНАЛ ЗАПРОСА    #
            #  $sql="select id,name,parent_to from ".$SysValue['base']['table_name']." where parent_to=0 order by num";
            ##############################
                    
    $sql="select id,name,parent_to from ".$SysValue['base']['table_name']." where parent_to=0 ".@$servers." order by num";
            
    #            The And         #
            ##############################
            #    № 0059 ODIUM  The and   #
    Состояние: Завершено.
    Совет: В файле можно удалить или добавить дополнительные ссылки в разделе "Карта сайта" строки 160-170(примерно) при использовании исправления №059.
    :)
    По этой теме остался пару вопросов, пока, не решенных, как настроить вывод товаров в спецпредложениях, новинках в магазинах-клонах, но это уже сделаю чуток позже, в следующем исправлении.

    Буду выкладывать постепенно новую информацию, когда будет пополняться мои заметки по исправлению PHPShop в лучшую сторону.
    Все что Вы делаете в скриптах, на Ваш страх и риск.
    Не засоряйте тему.
     
  2. Odium

    Odium

    Регистр.:
    26 мар 2006
    Сообщения:
    153
    Симпатии:
    81
    Тема: [Исправление №060 ] панель Администратора. Вывод/Редактирование/Добавление количества товара на складе.

    Условия:
    PHPShop Enterprise
    Версия: 301001
    В версии 301001 каждый видел, что в панели администрации, при просмотре товара выводятся данные о количестве определенного товара на складе.
    Данная ошибка существует и на демо-сайте PHPShop (_http://demo.phpshopcms.ru/phpshop/admpanel/) Саму ошибку можно увидеть при открытии Исходного HTML-кода страницы.

    В самом каталоге выводится кол-во из таблицы phpshop_products, ряд weight (в коде часто встречается как переменная $weight), при редактировании товара данные берутся из ряда items (в коде: $items) и сохраняются при редактировании/добавлении в том же ряду из таблицы.
    На самом сайте в каталоге таворов вывод идет опять с ряда items (в шаблоне: @productSklad@)
    Вот тут и не стыкуются данные панели администратора и указанные данные при редактировании/добавлении товара.

    1. Выводим данные из ряда items в каталоге товаров администратора.
    Файл: /phpshop/admpanel/catalog/admin_cat_content.php
    Строка: 132

    PHP:
            ##############################
            #       № 0060 ODIUM         #
            ##############################
            # 132 строку заменяем на код #
            ##############################
            #$weight=$row['weight'];
            
    $items=$row['items']; 
            
    #            The And         #
    2. Исправляем вывод для правильного отображения в каталоге товаров, в панели администратора.
    Файл: /phpshop/admpanel/catalog/admin_cat_content.php
    Строка: 183 (при добавленом выше исправлении.)

    PHP:
    Заменяем $weight на $items.
    В данном исправлении мы исправили вывод актуального количества товаров, которое действует по всему сайту.

    P.S. Возможно уже вышло обновление, но у меня его нет, закончилась у меня поддержка, теперь все своими силами.

    По теме клонов, пока тихо...
     
    demon1486 и Korsaa нравится это.
Статус темы:
Закрыта.