Перейти к содержимому


Фотография
- - - - -

обновление цен на сайте


Лучший Ответ SmetDenis , 16 March 2015 - 11:44

но API Zoo/JBZoo нет для моей задачи, верно?


API одно для всех задач сразу.

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

Пример скрипта, который меняет материалы из категории через API
<?php
$category = $this->app->table->category->get(42); // берем категорию
$items = $category->getItems(false);

$itemTable = $this->app->table->item;
foreach($items as $item) {
    
    if ($element = $item->getElement('ID_цены')) {
        $data = $element->data();
        // меняем цену внутри $data
        $element->bindData($data);
    }
    
    $itemTable->save($item); // сохраняем в базу
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1 mr.varhola

mr.varhola

Отправлено 16 March 2015 - 10:40

Есть ли возможность обновлять цены конкретным категориям сайта, например есть категория бренда "Бренд1" и мне нужно поднять всем товарам этой категории цены на 10% - как это можно сделать самым простым способом, не учитывая импорт/экспорт прайса, например в каком нибуть инпуте просто написать +10%  ?)


  • 0

#2 Sliapy

Sliapy

Отправлено 16 March 2015 - 10:53

Варианта 2:

 

1. Импорт

 

2. Напрямую менять запросами в базу данных (плохой вариант).


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 mr.varhola

mr.varhola

Отправлено 16 March 2015 - 10:57

а чем плох второй вариант?


  • 0

#4 Sliapy

Sliapy

Отправлено 16 March 2015 - 10:59

Все манипуляции с материалами лучше производить либо через админку, либо через API Zoo/JBZoo.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 mr.varhola

mr.varhola

Отправлено 16 March 2015 - 11:02

но API Zoo/JBZoo нет для моей задачи, верно?


  • 0

#6 SmetDenis

SmetDenis

Отправлено 16 March 2015 - 11:44   Лучший Ответ

но API Zoo/JBZoo нет для моей задачи, верно?


API одно для всех задач сразу.

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

Пример скрипта, который меняет материалы из категории через API
<?php
$category = $this->app->table->category->get(42); // берем категорию
$items = $category->getItems(false);

$itemTable = $this->app->table->item;
foreach($items as $item) {
    
    if ($element = $item->getElement('ID_цены')) {
        $data = $element->data();
        // меняем цену внутри $data
        $element->bindData($data);
    }
    
    $itemTable->save($item); // сохраняем в базу
}

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 mr.varhola

mr.varhola

Отправлено 16 March 2015 - 16:52

Спасибо, Денис!

буду пробовать.


  • 0




Click to return to top of page in style!