Вход • Регистрация

Всего найдено: 75

  • 21 октября 2015 г.
  • Здравствуйте.
    Если я делаю изменения в файлн shop.yandex.php, то он перестает работать. В файле описано, что нужно заменить строчку 19 на содержимое в строке 18, приизменениях. Но это не помагает. Файл сам в кастомную папку не перепрыгивает. Я поместил в кастом, но от туда конечно не подружается при обращении к http://site.ru/modules/shop/shop.yandex.php. Если обращаться по адресу к нему в кастомную папку, то работает, но тоже только без изменений кода. Любая правка его отключает. Мне нужно удалить часть кода, которая в <categories> указывает вложеность текущей категории (родительскую).


    private function get_categories()
    {
    $text = '';
    foreach ($this->sites as $site_id)
    {
    if ($this->diafan->configmodules('cat', 'shop', $site_id))
    {
    $rows = DB::query_fetch_all("SELECT id, [name], parent_id, timeedit FROM {shop_category} WHERE [act]='1' AND trash='0' AND site_id=%d"
    .($this->diafan->configmodules('show_yandex_category', 'shop', $site_id) ? " AND show_yandex='1'" : ""), $site_id);
    foreach ($rows as $row)
    {
    $text .= '
    <category id="'.$row["id"].($row["parent_id"] ? '" parentId="'.$row["parent_id"] : '').'">'
    .$this->prepare($row["name"]).'</category>';
    $this->timeedit = $row["timeedit"] > $this->timeedit ? $row["timeedit"] : $this->timeedit;
    }
    }
    }
    if($text)
    {
    $text = '
    <categories>'.$text.'
    </categories>';
    }
    return $text;
    }





    Спасибо, если подскажите.
  • 24 июля 2015 г.
  • Ну как, посмотрели? бьюсь вторую неделю. Ничего не получилось . Все на сайт летит полностью, а если изменить характеристику на сайте, то при очередной выгрузке создается новая характеристика, старую с измененным названием не признает.
  • 28 июля 2015 г.
  • Я нашел в интернете кусок кода и им обрезал вывод наименования до 4 символов. Правда, если слово не заканчивается, то появлятся при выводе какой-то прямоугольничек. Но это лучше, чем было ))
  • 21 июля 2015 г. , редакция: 1437442322
  • Служба поддержки прислала совет, как укоротить или заменить длинные названия дополнительных характеристик, которые импортируются из УТ11.1. )))

    "Вы можете дописать это правило в файле modules/shop/shop.1c.php везде, где идет работа с характеристиками. Например так:
    $name_param = preg_replace('/ \(Справочник (.*)\)/', '', $name_param);
    $name_param нужно заменить на переменную, в которой в конкретном месте записано имя характеристики. Например, в функции import_params - $xml_feature->Наименование."


    я полез ковырять, - ничего не получилось.
    Вот код в котором нужно сделать эту замену. Но я к сожалению не программист и не справился с этой задачей. Может ли кто-нибудь помочь мне.
    Готов отблагодарить ))

    * Импорт дополнительных характеристик
    *
    * @return void
    */
    private function import_params($xml)
    {
    $property = array();
    if(isset($xml->Свойства->СвойствоНоменклатуры))
    {
    $property = $xml->Свойства->СвойствоНоменклатуры;
    }

    if(isset($xml->Свойства->Свойство))
    {
    $property = $xml->Свойства->Свойство;
    }

    foreach ($property as $xml_feature)
    {
    switch($xml_feature->ТипЗначений)
    {
    case 'Число':
    $type = 'numtext';
    break;
    case 'Справочник':
    $type = 'select';
    break;
    default:
    $type = 'text';
    break;
    }
    $row = DB::query_fetch_array("SELECT id, type FROM {shop_param} WHERE [name]='%h' LIMIT 1", $xml_feature->Наименование);
    $values = array();
    if(! $row)
    {
    $row["id"] = DB::query("INSERT INTO {shop_param} ([name], type) VALUES ('%h', '%s')", $xml_feature->Наименование, $type);
    $row["type"] = $type;
    if($type == 'select' && ! empty($xml_feature->ВариантыЗначений->Справочник))
    {
    $i = 1;
    foreach ($xml_feature->ВариантыЗначений->Справочник as $xml_s)
    {
    $values[strval($xml_feature->Ид)] = DB::query("INSERT INTO {shop_param_select} ([name], param_id, sort) VALUES ('%h', %d, %d)", $xml_s->Значение, $row["id"], $i++);
    }
    }
    }
    else
    {
    if($row["type"] == "multiple" && $type == 'select')
    {
    $type = 'multiple';
    }
    if($row["type"] != $type)
    {
    DB::query("UPDATE {shop_param} SET type='%s' WHERE id=%d", $type, $row["id"]);
    }
    if(($type == 'select' || $type == 'multiple') && ! empty($xml_feature->ВариантыЗначений->Справочник))
    {
    $i = 1;
    foreach ($xml_feature->ВариантыЗначений->Справочник as $xml_s)
    {
    if(! $sel_id = DB::query_result("SELECT id FROM {shop_param_select} WHERE [name]='%h' AND param_id=%d", $xml_s->Значение, $row["id"]))
    {
    $sel_id = DB::query("INSERT INTO {shop_param_select} ([name], param_id, sort) VALUES ('%h', %d, %d)", $xml_s->Значение, $row["id"], $i++);
    }
    $values[strval($xml_s->ИдЗначения)] = $sel_id;
    }
    }
    DB::query("DELETE FROM {shop_param_category_rel} WHERE element_id=%d", $row["id"]);
    }
    $row["values"] = $values;
    $this->cache["params"][strval($xml_feature->Ид)] = $row;
    }
    }

  • 11 июля 2015 г.
  • Может со стороны сайта поправить легче? например сделать настройку флажками на странице с характеристиками - выводить на страницу с товаром или нет. А еще круче, если не только флажки, но и поле выводимого синонима. Если кто напишет мне код, готов заплатить за работу. Я не програмист, но думаю это не очень сложно. Наверное надо на страницах, где выводиться товар поставить проверку атрибута (выводить/невыводить), а в странице администрирования характеристик внедрить флажок или поле синонима, значение которого будет потом храниться в базе и выводиться на сайт. Да плевое дело))))) Может я не прав про простоту решения, просто уже 3 для толком не сплю с этой гребаной интеграцией.
  • 09 июля 2015 г.
  • Здравствуйте. Такая проблемма: Настроил синхронизацию между 1 С УТ11.1 и сайтом. Все работает. В 1с созан товар с характристиками. Программа 1 с выгружает каталог по своим правилам (настроино через стантартный обмен данными с сайтами) В базу сайта прилетают характеристики этого товара, которые помимо своего названия сожержат дополнительную информацию. Напримет называется "Размер" со значением 72мм, а на сайт приходит характеристика "Размер (Справочник "Характеристики номенклатуры" (Общие)): 72мм. и все это отображается на странице - некрасиво. Исправить в 1 с не смог. Может есть способ прописать правило для характеристик, например не более 10 знаков или может гдето прописать какая характеристика с 1с как будет называться на сайте. Есть же какой-то способ...наверное. Заранее спасибо.
  • 30 марта 2015 г.
  • Подскажите пожалуйста, как настроить магазин, что бы товар с нулевым количеством не выводился, его не было бы видно? Нужно код какой-то вставлять или это есть в настройках. У меня шаблон дизайна "Спорт-Магазин" товары и колличество загружаю из "МойСклад"
  • 30 марта 2015 г.
  • Сделал. Если кому-то потребуется код страницы shop.view.rows.php для Defian 5.4 шаблон "Спортивный Магазин"

    /**
    * Шаблон списка товаров
    *
    * @package DIAFAN.CMS
    * @author diafan.ru
    * @version 5.4
    * @license http://www.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2015 OOO «Диафан» (http://www.diafan.ru/)
    */
    if (!defined('DIAFAN')) {
    include dirname(dirname(dirname(__FILE__))) . '/includes/404.php';
    }

    if (empty($result['rows']))
    return false;
    foreach ($result['rows'] as $row) {
    //Проверка колличества товара и невывод нулевых - 1 строка
    if ( $row['count'] && !$row['no_buy'] ){
    echo '<div class="catalog__item">';

    //вывод изображений товара
    if (!empty($row["img"])) {
    $img = $row['img'][0];

    echo '<a href="' . BASE_PATH_HREF . $row['link'] . '" class="catalog__item__pic">
    <img src="' . $img["src"] . '" width="' . $img["width"] . '" height="' . $img["height"] . '" alt="' . $img["alt"] . '" title="' . $img["title"] . '">
    </a>';
    }


    echo '<div class="catalog__item__info">
    <a href="' . BASE_PATH_HREF . $row['link'] . '" class="catalog__item__title">' . $row['name'] . '</a>'
    . (!empty($row["rating"]) ? $row['rating'] : '')
    . (!empty($row['anons']) ? '<div class="catalog__item__desc">' . $row['anons'] . '</div>' : '')
    . (!empty($row['price']) ? '<div class="catalog__item__price">
    ' . $row['price'] . ' ' . $result['currency']
    . (!empty($row['old_price']) ? '<s>' . $row['old_price'] . ' ' . $result['currency'] . '</s>' : '')
    . '</div>' : '')
    . '<a href="' . BASE_PATH_HREF . $row['link'] . '" class="btn">'.$this->diafan->_('Подробнее').'</a>
    </div>
    </div>';
    }
    //Добавленная скобка при добавлении проверки количества
    }
  • 30 марта 2015 г.
  • Спасибо, поищу на форуме такую тему (хотя конечно сначала уже искал))
    Кастомизация идет своим чередом по мере работы с сайтом. Пока все устраивает кроме вывода товара, которого нет. Надеюсь справится самостоятельно, может кто и поможет, подскажет. Всем Спасибо.
Показывать по:

Новости

  • Вчера, 09:47
  • В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
  • 18 июня 2024 г.
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля 2024 г.
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.