brookinsconsulting/bciconextensions

eZ PublishLegacy扩展,提供了一个基本的、经过时间考验的内核覆盖类,该类被修改为提供灵活的解决方案,在eZ Publish扩展中存储共享/图标主题图标,而不是内核篡改您的eZ Publish安装。非常适合聪明开发者!

安装: 42

依赖关系: 0

建议者: 0

安全: 0

星级: 2

关注者: 3

分支: 0

开放问题: 0

类型:ezpublish-legacy-extension

dev-master 2017-08-29 14:31 UTC

This package is auto-updated.

Last update: 2024-09-29 05:07:50 UTC


README

此扩展是一个简单的eZ Publish平台(Legacy)内核覆盖扩展,它提供了一个基本的、经过时间考验的内核覆盖类,该类被修改为提供灵活的解决方案,在eZ Publish扩展中存储共享/图标主题图标,而不是内核篡改您的eZ Publish安装。非常适合聪明开发者!

安装并启用此内核类覆盖后,您可以覆盖检测默认功能,例如检测共享/图标主题,并且默认情况下,您可以在扩展内检测共享/图标主题。

这对于覆盖或自定义默认共享/图标主题图标非常有用。使用此解决方案,您最终可以添加自己的自定义图标,这些图标与扩展中的自定义内容类匹配,并防止内核篡改您的eZ Publish平台(Legacy)安装!

版本

  • BC图标扩展的当前版本是0.1.2

  • 最后主要更新:2017年4月5日

版权

  • BC图标扩展版权所有1999 - 2017年Brookins Consulting和eZ Systems AS

  • 更多信息请参阅COPYRIGHT.md

许可证

BC图标扩展基于GNU通用公共许可证。

完整的许可证协议包含在LICENSE文件中。

BC图标扩展是免费软件:您可以在自由软件基金会的GNU通用公共许可证的条款下重新分配和/或修改它,无论是许可证的第2版还是您选择的更晚版本。

BC图标扩展以希望它将是有用的方式分发,但没有任何保证;甚至没有关于适销性或特定用途的隐含保证。有关更多信息,请参阅GNU通用公共许可证。

GNU GPL赋予您在特定条件下使用、修改和重新分配BC图标扩展的权利。GNU GPL许可证随软件一起分发,请参阅LICENSE文件。

它也可在https://gnu.ac.cn/licenses/gpl.txt找到

您应已收到GNU通用公共许可证的副本,与BC图标扩展一起在LICENSE中。

如果没有,请参阅https://gnu.ac.cn/licenses/

在GNU GPL的条款下使用BC图标扩展是免费的(作为自由)。

有关更多信息或疑问,请联系:license@brookinsconsulting.com

需求

使用BC图标扩展扩展需要以下要求

eZ Publish版本

  • 请确保您使用eZ Publish版本4.x(必需)或更高版本。

  • 与eZ Publish社区项目2014.11设计和测试

PHP版本

  • 请确保您有PHP 5.x或更高版本。

功能

此解决方案提供以下功能

  • 内核模块类覆盖类:eZWordToImageOperator

  • 自定义设置/icon.ini设置和设置覆盖:settings/icon.ini.append.php

依赖关系

  • 此解决方案依赖于eZ Publish Legacy和config.php中启用的内核类覆盖

内核类覆盖

此解决方案覆盖以下内核类

  • PHP类:eZWordToImageOperator - 默认位于:kernel/common/ezwordtoimageoperator.php

此解决方案提供了以下内核类覆盖

  • PHP类:eZWordToImageOperator - 位于:extension/bciconextensions/classes/kerneloverride/v2017.02.0/kernel/common/ezwordtoimageoperator.php

注意:此解决方案只需要一个旧版内核类的单一覆盖,该类非常稳定,并且不会(如果有的话)随着每个版本的重大变化(这对可维护性很重要)。自2014年初以来,该类没有经过修改或需要错误修复

安装

通过Composer安装包

从您的项目根目录运行以下命令以安装包

bash$ composer require brookinsconsulting/bciconextensions dev-master;

扩展激活

必需。通过将以下内容添加到您的settings/override/site.ini.append.php来激活此扩展

[ExtensionSettings]
# <snip existing active extensions list />
ActiveExtensions[]=bciconextensions

内核类覆盖扩展通过ini设置激活。仍需要正常site.ini扩展激活设置才能使用此扩展及其解决方案的定制设置。

启用eZ Publish内核覆盖

内核类覆盖只有在您将以下内容添加到eZ Publish Legacy配置文件config.php中时才能使用。

cp -va config.php-RECOMMENDED config.php;
# Edit config.php to set 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE' to true. It should look like this:
define( 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE', true );

重新生成内核类覆盖自动加载

重新生成内核类覆盖自动加载(必需)。

php ./bin/php/ezpgenerateautoloads.php --kernel-override;

清除缓存

可选。清除eZ Publish平台/ eZ Publish Legacy缓存(必需)。

php ./bin/php/ezcache.php --clear-all;

安装重写规则

Apache重写规则

必需。要能够访问由图标扩展提供的图像文件,您必须将以下apache mod_rewrite规则安装到您的web服务器虚拟主机配置中。

# bciconextensions required mod_rewrite rules to allow access to icon extension icon image files
RewriteRule ^/extension/[^/]+/icons/[^/]+/[^/]+/[^/]+/.* - [L]

Nginx重写规则

必需。要能够访问由图标扩展提供的图像文件,您必须将以下nginx重写规则安装到您的web服务器虚拟主机配置中。

# bciconextensions required rewrite rules to allow access to icon extension icon image files
rewrite "^/extension/([^/]+)/icons/([^/]+)/([^/]+)/([^/]+)/(.*)" "/extension/$1/icons/$2/$3/$4" break;

使用方法

一旦正确安装,此解决方案默认配置为虚拟工作。

此解决方案允许您在扩展中拥有多个图标主题。

这意味着您需要在您的安装中安装、激活和配置此扩展,然后创建您自己的自定义共享/图标主题,这些主题位于您自己的自定义扩展中。

历史

图标始终绑定到一个单一存储库。这使得eZ publish中的整个图标引擎非常不舒服,尤其是在多站点环境中。

拥有一个类似模板引擎的图标引擎,能够从不同的设计中加载模板,使用回退设计,甚至可以从扩展中加载内容,这要容易得多。

此解决方案实现了以下功能

  1. 通过扩展加载图标主题

  2. 有一个标准主题,如果当前主题中找不到图标,则引擎回退到该主题

  3. 有一个附加主题列表,引擎在回退到标准主题之前在此处查找图标

使用方法 - 创建您自己的图标扩展

示例配置:要在扩展中具有图标主题,请将它们放置在/extension/YOUREXTENSION/icons/YOURTHEME中,其中YOUREXTENSION是您的扩展之一的名字,YOURTHEME是一个新主题。

然后在[ExtensionSettings]中设置设置IconExtensions[]为:IconExtensions[]=YOUREXTENSION

为了使用附加主题,使用AdditionalThemeList[]命名它们,例如:AdditionalThemeList[]=blue AdditionalThemeList[]=exotic

并确保它们存在于扩展或默认存储库中。

请注意:您的图标扩展(及其主题)的目录结构必须与默认安装中提供的eZ Publish Legacy share/icons内容目录结构约定相匹配。您越符合默认期望,就越不需要ini设置配置设置覆盖。

故障排除

阅读常见问题解答

某些问题比其他问题更常见。最常见的问题列在doc/FAQ.md

支持

如果您在此文档或常见问题解答中找不到任何问题,可以通过以下支持系统联系Brookins Consulting:http://brookinsconsulting.com/contact