2014-02-14 3 views
1

Plone 4.3 установлен в C: каталог \ Plone43 с site.zcml, расположенный в C: \ Plone43 \ частей \ экземпляра \ Etc \ site.zcmlPlone создания статического каталога изображений

Все, что я хочу сделать, это настройте каталог, в котором я могу поместить некоторые изображения или ресурсы и иметь доступ к ним, используя URL-адрес, такой как http://wiki.mycompany.net:8080/++resources++PROJECTNAME/images/someimage.png

Я активировал plone.resource 1.0.2, но понятия не имею, куда помещать какие-либо изображения сейчас или как настроить Это. Я слышал, как люди говорили о zcml, но я понятия не имею, о каком zcml-файле они говорят.

Я добавил строку в site.zcml, а затем сайт plone не появился, поэтому мне пришлось удалить его.

Может кто-нибудь, пожалуйста, помогите мне настроить статическую папку ресурсов, пожалуйста? Я в порядке, чтобы настроить глобальный непосредственно в site.zcml, если это возможно.

Текущий site.zcml выглядит следующим образом:

<configure 
xmlns="http://namespaces.zope.org/zope" 
xmlns:meta="http://namespaces.zope.org/meta" 
xmlns:five="http://namespaces.zope.org/five"> 

<include package="Products.Five" /> 
<meta:redefinePermission from="zope2.Public" to="zope.Public" /> 


<!-- Load the meta --> 
<include files="package-includes/*-meta.zcml" /> 
<five:loadProducts file="meta.zcml"/> 

<!-- Load the configuration --> 
<include files="package-includes/*-configure.zcml" /> 
<five:loadProducts /> 

<!-- Load the configuration overrides--> 
<includeOverrides files="package-includes/*-overrides.zcml" /> 
<five:loadProductsOverrides /> 


<securityPolicy 
    component="AccessControl.security.SecurityPolicy" /> 


</configure> 
+0

Существует идиоматическое предположение Plone people make: любые настройки или интеграции, которые вы делаете, выполняются в дополнительных пакетах. Мой ответ ниже должен дать некоторое направление для создания надстройки с единственной целью включения статических ресурсов. – sdupton

ответ

2

Забудьте о site.zcml; просто создайте небольшой add-on package, который имеет (1) каталог для ваших статических ресурсов, (2) файл configure.zcml, используя объявление browser:resourceDirectory. Поместите свое дополнение в исходное управление где-нибудь.

Ваш пакет должен установить следующую структуру (предполагается, UNIX, вы можете легко перевести это эквиваленты Windows, как вы считаете нужным, переименуйте пакет надлежащим образом):

~/my-buildout $ cd src 
~/my-buildout/src $ mkdir -p myorg.packagename/myorg/packagename/static 
~/my-buildout/src $ cd myorg.packagename 
~/my-buildout/src/myorg.packagename $ vim setup.py # edit as needed 
... # see http://docs.python.org/2/distutils/setupscript.html 
~/my-buildout/src/myorg.packagename $ vim myorg/__init__.py 

Сделать пространство имен пакетов работ (в MyOrg/__init__.py):

try: 
    __import__('pkg_resources').declare_namespace(__name__) 
except ImportError: 
    from pkgutil import extend_path 
    __path__ = extend_path(__path__, __name__) 

Другое шаблонный:

~/my-buildout/src/myorg.packagename $ echo "#" > myorg/packagename/__init__.py 
~/my-buildout/src/myorg.packagename $ vim myorg/packagename/configure.zcml 

Ваш configure.zcml должен выглядеть следующим образом:

<configure 
    xmlns="http://namespaces.zope.org/zope" 
    xmlns:browser="http://namespaces.zope.org/browser"> 

    <browser:resourceDirectory 
    name="MYPROJECTNAME" 
    directory="static" 
    /> 

</configure> 

Установка надстройки хорошо документированы для Plone, поэтому я опуская описание этого.

Смежные вопросы