Что такое StoreView1 и почему он запрашивается - PullRequest
0 голосов
/ 28 сентября 2011

Привет всем, я использую c #, и мне предлагают ввести out int storeview1 как свойство

catalogProductCurrentStore(out int storeview1, string sessionID, string storeview).

Может кто-нибудь сказать мне, что это?

Спасибо

1 Ответ

1 голос
/ 28 сентября 2011

Вы можете посмотреть это сами. catalogProductCurrentStore выглядит как сгенерированный метод c # для метода catalog_product.currentstore API. Точка входа PHP для этого метода (в Magento 1.6) находится здесь

#File: app/code/core/Mage/Catalog/Model/Api/Resource.php    
public function currentStore($store=null)
{
    if (!is_null($store)) {
        try {
            $storeId = Mage::app()->getStore($store)->getId();
        } catch (Mage_Core_Model_Store_Exception $e) {
            $this->_fault('store_not_exists');
        }

        $this->_getSession()->setData($this->_storeIdSessionField, $storeId);
    }

    return $this->_getStoreId();
}

Таким образом, вызов этого метода API сохраняет переданный в хранилище идентификатор в переменную сеанса PHP. Это не имеет смысла, пока вы не посмотрите на другие методы API и не увидите, что они читают этот идентификатор вне сеанса всякий раз, когда им нужно сделать вызов, для которого требуется определенный идентификатор хранилища.

Система Magento и объекты Magento имеют базовую конфигурацию для интернет-магазина. Но , вы также можете настроить одну систему Magento для обслуживания нескольких магазинов, каждый с различными продуктами, ценами и т. Д. Внутри Magento отслеживает базовую конфигурацию, а затем Отличия у каждого магазина.

Упрощенный, в основном истинный пример: скажем, у вас была система с двумя хранилищами

Store A
Store B

, в котором было 10000 обувных изделий, и единственной разницей было то, что одна пара обуви стоила 100 долларов в магазине A, но 200 долларов - это магазин B, а не 20 000 демонстрационных объектов, Magento хранит 10 001. Базовая конфигурация всех этих туфель и способ, которым Магазин B отличается.

Чтобы отслеживать все это, Magento предоставляет объект магазина. Эти объекты магазина имеют идентификаторы. Это относится к вам, потому что вы можете сделать запрос API для информации о продукте, но эта информация будет варьироваться от магазина к магазину. Метод catalog_product.currentstore (который ваши инструменты API сгенерировали как catalogProductCurrentStore?) Позволяет вам установить идентификатор хранилища по умолчанию, который будет использоваться для запросов, которые требуют дополнительного параметра идентификатора хранилища.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...