Обновления макета базы данных все еще используются в Magento? - PullRequest
5 голосов
/ 08 января 2011

Глубоко в системе макетов Magento, есть следующий код, который используется для превращения ваших XML-файлов макета пакета в конкретный XML, необходимый для создания ваших блоков, и, следовательно, для создания ваших страниц

public function merge($handle)
{
    $packageUpdatesStatus = $this->fetchPackageLayoutUpdates($handle);
    if (Mage::app()->isInstalled()) {
        $this->fetchDbLayoutUpdates($handle);
    }
}

Второй способ fetchDbLayoutUpdates пытается загрузить дополнительные обновления XML из базы данных с помощью SQL-запросов, например,

SELECT `update`.`xml` FROM `core_layout_update` AS `update`
INNER JOIN `core_layout_link` AS `link` 
    ON link.layout_update_id=update.layout_update_id 
WHERE (link.store_id IN (0, '1')) 
    AND (link.area='frontend') 
    AND (link.package='default') 
    AND (link.theme='default') 
    AND (update.handle = 'default') 
ORDER BY `update`.`sort_order` ASC'

Обе таблицы core_layout_update и core_layout_link пусты при установке по умолчанию.

Итак, я всегда предполагал, что это устаревшая особенность, которая предшествовала моему времени с Magento. Кто-нибудь знает, используется ли эта функция где-либо

  1. База кодов Magento Core

  2. Любые известные / выдающиеся расширения

  3. Вы!

Я понимаю, почему эта функция была оставлена ​​на месте (унаследованные проблемы, а что нет), но мне любопытно, было ли это официально отменено или просто слишком мало используется.

Ответы [ 2 ]

5 голосов
/ 08 января 2011

У меня есть несколько записей для cms_index_index, который добавляет блок enterprise_banner. Так что оно используется редакцией Enterprise как минимум.

4 голосов
/ 06 июня 2015

core_layout_update связана с экземпляром виджета, кажется, что core_layout_update имеет строку для каждого экземпляра виджета, добавленного из CMS-> Widgets

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