当前位置: 首页>>代码示例>>PHP>>正文


PHP ConfigImporter::getExtensionChangelist方法代码示例

本文整理汇总了PHP中Drupal\Core\Config\ConfigImporter::getExtensionChangelist方法的典型用法代码示例。如果您正苦于以下问题:PHP ConfigImporter::getExtensionChangelist方法的具体用法?PHP ConfigImporter::getExtensionChangelist怎么用?PHP ConfigImporter::getExtensionChangelist使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Drupal\Core\Config\ConfigImporter的用法示例。


在下文中一共展示了ConfigImporter::getExtensionChangelist方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: validateThemes

 /**
  * Validates theme installations and uninstallations.
  *
  * @param \Drupal\Core\Config\ConfigImporter $config_importer
  *   The configuration importer.
  */
 protected function validateThemes(ConfigImporter $config_importer)
 {
     $core_extension = $config_importer->getStorageComparer()->getSourceStorage()->read('core.extension');
     // Get all themes including those that are not installed.
     $theme_data = $this->getThemeData();
     $installs = $config_importer->getExtensionChangelist('theme', 'install');
     foreach ($installs as $key => $theme) {
         if (!isset($theme_data[$theme])) {
             $config_importer->logError($this->t('Unable to install the %theme theme since it does not exist.', array('%theme' => $theme)));
             // Remove non-existing installs from the list so we can validate theme
             // dependencies later.
             unset($installs[$key]);
         }
     }
     // Ensure that all themes being installed have their dependencies met.
     foreach ($installs as $theme) {
         foreach (array_keys($theme_data[$theme]->requires) as $required_theme) {
             if (!isset($core_extension['theme'][$required_theme])) {
                 $theme_name = $theme_data[$theme]->info['name'];
                 $required_theme_name = $theme_data[$required_theme]->info['name'];
                 $config_importer->logError($this->t('Unable to install the %theme theme since it requires the %required_theme theme.', array('%theme' => $theme_name, '%required_theme' => $required_theme_name)));
             }
         }
     }
     // Ensure that all themes being uninstalled are not required by themes that
     // will be installed after the import.
     $uninstalls = $config_importer->getExtensionChangelist('theme', 'uninstall');
     foreach ($uninstalls as $theme) {
         foreach (array_keys($theme_data[$theme]->required_by) as $dependent_theme) {
             if ($theme_data[$dependent_theme]->status && !in_array($dependent_theme, $uninstalls, TRUE)) {
                 $theme_name = $theme_data[$theme]->info['name'];
                 $dependent_theme_name = $theme_data[$dependent_theme]->info['name'];
                 $config_importer->logError($this->t('Unable to uninstall the %theme theme since the %dependent_theme theme is installed.', array('%theme' => $theme_name, '%dependent_theme' => $dependent_theme_name)));
             }
         }
     }
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:43,代码来源:ConfigImportSubscriber.php


注:本文中的Drupal\Core\Config\ConfigImporter::getExtensionChangelist方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。