Magento: Как работает [DB: table {eav_attribute} -> field {frontend_input}]? - PullRequest
1 голос
/ 31 января 2012

Не удалось найти в Google эту информацию.

Я знаю, что это поле (frontend_input) является частью некоторого класса атрибутов.

Где я мог найти это в коде и как это работает?

UPDATE: Я нашел папку классов, в которой определены классы frontend_input.

Это lib / Varien / Data / Form / Element / . **

Некоторая логика, которую я нашел здесь - app / code / core / Mage / Eav / Model / Resource / Entity / Attribute.php:

    /**
     * Retrieve attribute codes by front-end type
     *
     * @param string $frontendType
     * @return array
     */
    public function getAttributeCodesByFrontendType($frontendType)
    {
        $adapter = $this->_getReadAdapter();
        $bind    = array(':frontend_input' => $frontendType);
        $select  = $adapter->select()
            ->from($this->getTable('eav/attribute'), 'attribute_code')
            ->where('frontend_input = :frontend_input');

        return $adapter->fetchCol($select, $bind);
    }

и вызов getAttributeCodesByFrontendType здесь:

Приложение / код / ​​ядро ​​/ Mage / Каталог / данные / catalog_setup / данных обновления-1.6.0.0.4-1.6.0.0.5.php

$eavResource = Mage::getResourceModel('catalog/eav_attribute');

$multiSelectAttributeCodes = $eavResource->getAttributeCodesByFrontendType('multiselect');

Но я все еще недостаточно понимаю, для чего используется поле * frontend_input *?

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Итак, похоже, я нашел ответ.Значение этого поля для установки типа типа поля внешнего интерфейса.Если вы установите выбор, вы получите selectbox в админ-панели.Тип текста - поле ввода.Таким образом, каждый тип сохраняет свои значения в [entyty_name] entity [type] .Например: catalog_category_entity_varchar .

1 голос
/ 01 февраля 2012

В xml есть определение, которое сообщает системе, какой EAV вы будете использовать, и какой тип (целочисленные, десятичные, Varachar, Date и т. Д.) Данных он будет хранить.

Таблицы EAV, каждая из которых представляет определенный тип данных, будут хранить идентификатор объекта, а также идентификатор атрибута и значение.

Посмотрите по этой ссылке:

http://www.magento -exchange.com / WP-содержание / добавления / 2010/11 / Magento-EAV-ER-diagram.png

Я также прикреплю это в сообщении. ERD for EAV relationships

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