WPD2009_Plone3_theme-2.key

Similar documents
Network Computing の基礎

3 top#index 1 web router.ex web/router.ex 12 scope "/", NanoPlanner do 13 pipe_through browser get "/", TopController, index 16 end URL / to

PowerPoint プレゼンテーション

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool

untitled

_勉強会_丸山さつき_v3

第3回_416.ppt

JavaScript の使い方

6 (1) app.html.eex 28 lib/nano_planner_web/templates/layout/app.html.eex 27 <footer> Oiax Inc <%= this_year() %> Oiax Inc. 29 </footer>

cssnitelp47_hasegawa_v02.key

Web

ohp.mgp

0720


m

2

11 Bootstrap Font Awesome $ cd ~/projects/modest_greeter $ npm install --save jquery popper.js tether --save package.json depen

Gartner Day

PowerPoint Presentation

S1Šû‘KŒâ‚è


キャリアワークショップ教師用

FukuyamaGakuhou134

橡点検記録(集約).PDF


8 4 end 5 6 private def message 7 'Hello' 8 end 9 end g = Greeting.new 12 g.hello $ ruby lib/lessons/greeting.rb Hello Ruby public method protec

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name = "" => "" > item.valid? => true valid? true false

CSSNite-LP54-kubo-ito.key

Ł½’¬24flNfix+3mm-‡½‡¹724

Blue Asterisk template

STEP 02 Memo: Self-Introduction Self-Introduction About your family About your school life (your classes, club/juku, and so on.) Questions to your Pen

Lotus Domino XML活用の基礎!

Microsoft Word - OL購入補足資料-pdf.docx

. IDE JIVE[1][] Eclipse Java ( 1) Java Platform Debugger Architecture [5] 3. Eclipse GUI JIVE 3.1 Eclipse ( ) 1 JIVE Java [3] IDE c 016 Information Pr

PowerGres on Linux HAマニュアル

fx-9860G Manager PLUS_J

3 Powered by mod_perl, Apache & MySQL use Item; my $item = Item->new( id => 1, name => ' ', price => 1200,

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Hi. Hello. My name is What s your name? Nice to meet you. How are you? I m OK. Good morning. How are you? I am fine, thank you. My name is. Nice to me


6 2 s µ µµµ µµµµ µ µ h µs µ µµµµ µ µ µ s mµµµµµ µµµ µµ µ u m µmµµµµµ µµ µ µ µ µ µ µ µ µ s 1

com.ibm.etools.egl.jsfsearch.tutorial.doc.ps

BC4J...4 BC4J Association JSP BC4J JSP OC4J

RHEA key

CSS

Microsoft Word - jpluginmanual.doc

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML



2

untitled

経営論集2011_07_小松先生.indd

Microsoft Word - Live Meeting Help.docx

manual.dvi

Read the following text messages. Study the names carefully. 次のメッセージを読みましょう 名前をしっかり覚えましょう Dear Jenny, Iʼm Kim Garcia. Iʼm your new classmate. These ar

Windowsユーザーの為のOracle Database セキュリティ入門


Xen入門 ppt

Xen入門 ppt

Cisco ASA Firepower ASA Firepower



Insert VERITAS™ White Paper Title Here

Introduction Purpose The course describes library configuration and usage in the High Performance Embedded Workshop (HEW), which speeds development of

untitled

AN 100: ISPを使用するためのガイドライン

_bodik.key


JIS Web Web JIS JIS 5.1.a 5.1.b 5.2.a 5.2.b 5.2.c 5.2.d 5.2.e 5.2.f 5.2.g 5.3.a 5.3.b 5.3.c 5.3.d 5.3.e 5.3.f 5.3.g 5.3.h 5.3.i 5.4.a 5.4.b 5.4.c 5.4.

橡ボーダーライン.PDF

- 2 -


untitled

pdf



HP Server tc2120 Microsoft Windows 2000 Server SP3 HP P

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

untitled


スライド タイトルなし

Emacs Hacking CVS Emacs GDB + Elscreen ( ) makoto/e/emacs-gdb.pdf Emacs Hacking p.1/23

Complex Lab – Operating Systems - Graphical Console

untitled

Ax001_P001_目次-1.ai

2 : Open Clip Art Library [4] Microsoft Office PowerPoint Web PowerPoint 2 Yahoo! Web [5] SlideShare Yahoo! Web Yahoo! Web

取説_KX-PW101CL_PW102CW

untitled

ウェブデザイン技能検定学科試験 2 級 1. 各設問において 正しいものは 1 を 間違っているものは 2 を 該当設問の解答欄に記せ 第 1 問 文字実体参照の は 改行しない半角スペースを表示する 第 2 問 HTML 5.2 では コメントの中に連続したハイフンを入れることができる 第 3 問

STEP 02 Memo: Momijigari and New Year s in Japan About Momijigari in Japan About New Year s in Japan Others Questions to your Pen Pal STEP 03 Final: W

052-XML04/fiÁ1-part3-’ÓŠ¹



取説_KX-PW38CL_PW48CL

CONTENTS Public relations brochure of Higashikawa October No

InfoPros13_digest.key

_IMv2.key

Systemwalker IT Service Management Systemwalker IT Service Management V11.0L10 IT Service Management - Centric Manager Windows

Microsoft Word - j201drills27.doc

TopLink å SampleClient.java... 5 Ò readallsample() querysample() cachesample() Ç..

Transcription:

http://ciel-serein.jp/study/wpd2009/wpd2009_plone3_theme.pdf/view http://ciel-serein.jp/study/wpd2009/wpdj-theme.zip/view

$~/Plone-3.1/zinstance/buildout.cfg [instance] debug-mode = on $cd ~/Plone-3.1/zinstance $./bin/buildout $~/Plone-3.1

$ ~/Plone-3.1/zinstance/bin/instance fg ctrl+c.py ZMI [Plone ] > portal_css or portal_javascripts debug

$ cd ~/Plone-3.1/zinstance/src $../bin/paster create -t plone3_theme Enter project name: wpdj.theme Variables: egg: wpdj.theme package: wpdjtheme project: wpdj.theme Enter namespace_package (Namespace package (like plonetheme)) ['plonetheme']: wpdj /zinstance/src Enter package (The package contained namespace package (like example)) ['example']: theme Enter skinname (The skin selection to be added to 'portal_skins' (like 'My Theme')) ['']: wpdjskin

1. ~/Plone-3.1/zinstance/buildout.cfg [buildout] eggs = wpdj.theme develop = src/wpdj.theme [instance] zcml = wpdj.theme 2. buildout $cd ~/Plone-3.1/zinstance $./bin/buildout

ZMI /[Plone site]/portal_quickinstaller.xml.zcml install stylesheet => [your theme package]/skins/wpdj_theme_styles/ public.css.dtml portlets.css.dtml base.css.dtml

Plone 3 has switched to use Zope 3 viewlet components instead of the old macro include approach. Since Plone 3.0, main_template.pt calls viewlet managers instead of METAL macros

(1) xml ~/Plone-3.1/zinstance/src/wpdj.theme/wpdj/theme/profiles/default/viewlets.xml <object> <hidden manager="plone.portalheader" skinname="wpdjskin"> <viewlet name="plone.searchbox" /> </hidden> <hidden manager="plone.portaltop" skinname="wpdjskin"> <viewlet name="plone.personal_bar" /> </hidden> <hidden manager="plone.portalfooter" skinname="wpdjskin"> <viewlet name="plone.colophon" /> </hidden> </object>

(2) ZMI => viewlets.xml

(1) xml ~/Plone-3.1/zinstance/src/wpdj.theme/wpdj/theme/profiles/default/viewlets.xml <order> <manager> <viewlet> <order manager="plone.portalheader" skinname="wpdjskin" based-on="plone Default"> <viewlet name="plone.logo" insert-before="*" /> <viewlet name="plone.global_sections" insert-after="plone.logo" /> <viewlet name="plone.site_actions" insert-after="plone.global_sections" /> </order>

[my package]/browser/viewlets.py class (1) viewlet "plone.path_bar" (2) viewlet

/profiles/default/viewlets.xml [my package]/browser/viewlets.py class pathviewlet path_bar 6.8.7. Path Bar (Portal Breadcrumbs) <http://plone.org/documentation/manual/theme-reference/elements/visibleelements/plone.path_bar> #

[my package]/browser/viewlets.py # pt from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile # view class from plone.app.layout.viewlets.common import PathBarViewlet # viewlet # browser/configure.zcml class # PathBarViewlet wpdpath_bar.pt class pathviewlet(pathbarviewlet): render = ViewPageTemplateFile('wpdpath_bar.pt')

ZMI [site root] > portal_view_customizations path_bar plone.app.layout.viewlets/path_bar.pt [my package]/browser/wpdpath_bar.pt # html class

[my package]/browser/wpdpath_bar.pt <div id="portal-breadcrumbs" i18n:domain="plone"> <span id="breadcrumbs-you-are-here" i18n:translate="you_are_here">you are here:</span> <a i18n:translate="tabs_home" tal:attributes="href view/navigation_root_url">home</a> <span tal:condition="view/breadcrumbs" class="breadcrumbseparator"> <tal:ltr condition="not: view/is_rtl"> </tal:ltr> <tal:rtl condition="view/is_rtl">»</tal:rtl> </span> <span tal:repeat="crumb view/breadcrumbs" tal:attributes="dir python:view.is_rtl and 'rtl' or 'ltr'"> <tal:last tal:define="is_last repeat/crumb/end"> <a href="#" tal:omit-tag="not: crumb/absolute_url" tal:condition="python:not is_last" tal:attributes="href crumb/absolute_url" tal:content="crumb/title"> crumb </a> <span class="breadcrumbseparator" tal:condition="not: is_last"> <tal:ltr condition="not: view/is_rtl"> </tal:ltr> <tal:rtl condition="view/is_rtl">»</tal:rtl> </span> <span tal:condition="is_last" tal:content="crumb/title">crumb</span> </tal:last> </span> </div>

[my package]/browser/configure.zcml viewlet viewlet "wpdjskin.path_bar" class [my package]/browser/viewlets.py class [my package]/browser/configure.zcml <!-- --> <browser:viewlet name="wpdjskin.path_bar" manager="plone.app.layout.viewlets.interfaces.iportalfooter" class=".viewlets.pathviewlet" permission="zope2.view" />

(1) viewlet "plone.path_bar" viewlet manager "plone.portaltop" "plone.path_bar" hidden [my package]/profiles/default/viewlets.xml <hidden manager="plone.portaltop" skinname="wpdjskin"> <viewlet name="plone.app.i18n.locales.languageselector" /> <viewlet name="plone.personal_bar" /> <viewlet name="plone.path_bar" /> </hidden>

(2) viewlet "wpdjskin.path_bar" viewlet manager "plone.portalfooter" "wpdjskin.path_bar" [my package]/profiles/default/viewlets.xml <order manager="plone.portalfooter" skinname="wpdjskin" based-on="plone Default"> <viewlet name="wpdjskin.path_bar" insert-before="*" /> <viewlet name="wpdjskin.footer" /> </order>

[my package]/browser/viewlets.py class logoviewlet 6.8.4. Logo <http://plone.org/documentation/manual/theme-reference/elements/visibleelements/plone.logo>

[my package]/browser/viewlets.py # pt from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile # view class from plone.app.layout.viewlets.common import LogoViewlet # viewlet # borower/configure.zcml class # class logoviewlet(logoviewlet): render = ViewPageTemplateFile('wpdlogo.pt')

ZMI [site root] > portal_view_customizations logo plone.app.layout.viewlets/logo.pt [my package]/browser/wpdlogo.pt

[my package]/browser/wpdlogo.pt <div id="logo-wrapper"> <a metal:define-macro="portal_logo" id="portal-logo" accesskey="1" tal:attributes="href view/navigation_root_url" i18n:domain="plone"> <img src="++resource++wpdj.theme.images/wpdlogo.jpg" alt="world Plone Day" title="world Plone Day" height="200" width="301" /> </a> </div> ++resource++wpdj.theme.images/[ ] [theme directry]/browser/images [theme directry]/browser/configure.zcml resource directory

[my package]/browser/configure.zcml viewlet viewlet "wpdjskin.logo" class [my package]/browser/viewlets.py class [my package]/browser/configure.zcml <!-- --> <browser:viewlet name="wpdjskin.logo" manager="plone.app.layout.viewlets.interfaces.iportalheader" class=".viewlets.logoviewlet" permission="zope2.view" />

(1) viewlet "plone.logo" viewlet manager "plone.portalheader" "plone.logo" hidden [my package]/profiles/default/viewlets.xml <hidden manager="plone.portalheader" skinname="wpdjskin"> <viewlet name="plone.site_actions" /> <viewlet name="plone.searchbox" /> <viewlet name="plone.logo" /> </hidden>

(2) viewlet "wpdjskin.logo" viewlet manager "plone.portalheader" "wpdjskin.logo" [my package]/profiles/default/viewlets.xml <order manager="plone.portalheader" skinname="wpdjskin" based-on="plone Default"> <viewlet name="wpdjskin.logo" insert-before="plone.global_sections" /> </order>

[my package]/browser/viewlets.py class footerviewlet # SiteActionsViewlet wpdfooter.pt : 6.8.2. Site Actions <http://plone.org/documentation/manual/theme-reference/elements/visibleelements/plone.site_actions>

[my package]/browser/viewlets.py # pt from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile # view class # site_actions from plone.app.layout.viewlets.common import SiteActionsViewlet # viewlet # class footerviewlet(siteactionsviewlet): render = ViewPageTemplateFile('wpdfooter.pt')

ZMI [site root] > portal_view_customizations footer site_actions plone.app.layout.viewlets/footer.pt plone.app.layout.viewlets/site_actions.pt [my package]/browser/wpdfooter.pt

[my package]/browser/wpdfooter.pt ( <div id="portal-footer" metal:define-macro="portal_footer" i18n:domain="plone"> <ul id="portal-siteactions" tal:define="accesskeys python: {'sitemap' : '3', 'accessibility' : '0', 'contact' : '9'};" tal:condition="view/site_actions" i18n:domain="plone"> <li tal:repeat="saction view/site_actions" tal:attributes="id string:siteaction-${saction/id}"><a href="" tal:define="title saction/title; id saction/id; accesskey python: accesskeys.get(id, '');"

[my package]/browser/wpdfooter.pt ( i18n:attributes="title" i18n:translate="" tal:content="title" tal:attributes="href saction/url; title title; accesskey accesskey;" >Site action</a></li> </ul> <!-- --> <p>world Plone Day 2008 Tokyo Theme <span tal:omit-tag="" tal:define="now modules/datetime/datetime" tal:content="now/year" /> Plone </p> </div>

[my package]/browser/configure.zcml viewlet viewlet "wpdjskin. footer" class [my package]/browser/viewlets.py class [my package]/browser/configure.zcml <!-- --> <browser:viewlet name="wpdjskin.footer" manager="plone.app.layout.viewlets.interfaces.iportalfooter" class=".viewlets.footerviewlet" permission="zope2.view" />

(1) viewlet "plone.logo" viewlet manager "plone.portalfooter" "plone.footer" hidden [my package]/profiles/default/viewlets.xml <hidden manager="plone.portalfooter" skinname="wpdjskin"> <viewlet name="plone.footer" /> <viewlet name="plone.colophon" /> </hidden>

(2) viewlet "wpdjskin.footer" viewlet manager "plone.portalfooter" "wpdjskin.footer" [my package]/profiles/default/viewlets.xml <order manager="plone.portalfooter" skinname="wpdjskin" based-on="plone Default"> <viewlet name="wpdjskin.path_bar" insert-before="*" /> <viewlet name="wpdjskin.footer" /> </order>

[your package]/profiles/default/cssregistry.xml <stylesheet title="" id="++resource++wpdj.theme.stylesheets/main.css" media="screen" rel="stylesheet" rendering="import" cacheable="true" compression="safe" cookable="true" enabled="1" expression=""/>

Resources Plone Theme Reference <http://plone.org/documentation/manual/theme-reference> Create new eggs and packages quickly with paster <http://plone.org/documentation/how-to/use-paster> paster egg <http://nagosui.org:8080/nagosui/docs/how-to/create-new-eggs-and-packages-quickly-with-paster> Customizing the viewlets in main_template <http://plone.org/documentation/tutorial/customizing-main-template-viewlets> Where is What in Plone 3 <https://weblion.psu.edu/trac/weblion/wiki/plonethreewhereiswhat>