ひとつのページにまとめました。
もくじ
- ショートネームの変更方法
- ナビゲーションにアイコンを出さないようにする
- ナビに表示されるアイテムを制御する
- ビューレットの表示/非表示・並べ替え設定
- タグの使用可/不可設定
- 基本設定変更(クラシックテーマ使用時)
- テンプレートカスタマイズ
- カスタマイズ部品アップロード先(CSS、JS、ロゴ画像、favicon、Pythonスクリプト 等)
- 新しいcssファイル、jsファイルを追加
- タイトルロゴ変更(クラシックテーマ使用時)
- favicon変更
- 修正したものを元に戻す
- CSSファイルの手っ取り早い修正(クラシックテーマ使用時)
- サイトマップ、アクセシビリティ等の表示されている部分の修正
- サイトマップ、アクセシビリティ等へのリンクの個別の表示/非表示
- バーチャルホストの設定(スタンドアロン用)
- 文言の変更
- データのバックアップ
- pythonモジュール追加
- 正規表現チェックスクリプト
- サイト設定に @@manage-viewlets へのリンクを追加する
- ビューレットの任意の場所に文字サイズ変更リンクを追加
- RSS配信をしたい
- 「リンク」がリダイレクトされなくなった
- コレクションポートレットに表示される日付を更新日にする
- titleタグの「—」を別のものに変える
ショートネームの変更方法
対象のコンテンツ → 編集操作 → 名前変更
新規作成すると記事名がそのままショートネームとなる。英語ならいいが日本語だとややこしいので手動で直す。ちなみに日本語で記事を作成した際のショートネームの付き方が、3.3.5と4.0で変わっている。
エラーが出るときはロックされている場合がほとんどなので、一度編集を終了させてから再度試す。どうしてもだめならZMIからなんとかするしかない。
ナビゲーションにアイコンを出さないようにする
サイト設定 → テーマ
ナビに表示されるアイテムを制御する
- (全体)サイト設定 → ナビゲーション
- (個別)対象のコンテンツ → 編集 → 設定 → ナビゲーションから除外する
ビューレットの表示/非表示・並べ替え設定
URL/@@manage-viewlets にアクセス。
サイト設定画面にリンクはないのでurlを直打ちするか、もしくはサイト設定画面にリンクを追加する(追加方法は後述)。
機能は用意されてるのに管理画面から飛べないという謎の仕様。
タグの使用可/不可設定
ZMI → portal_transforms/safe_html
- サイト設定 → HTMLフィルタリング
- ZMIを使うやり方もある
- 使いたいタグを nasty_tags から削除し、valid_tags に追加
- value 欄は、「1」なら開きタグ・閉じタグあり(<p>…</p> など)、「0」はなし(<br/> など)
- flashを貼り付けたい場合、object や embed だけでなく param も許可させたりいろいろと工夫する
基本設定変更(クラシックテーマ使用時)
ZMI → portal_skins/classic_styles/base_properties でいろいろ変更できる。
テンプレートカスタマイズ
- ZMI → portal_view_customizations
ポートレットは「*.pt」となっている(以前は portal_skins に入っていたが今はここにある)。 - ZMI → portal_skins/plone_templates
カスタマイズ部品アップロード先(CSS、JS、ロゴ画像、favicon、Pythonスクリプト 等)
ZMI → portal_skins/custom
新しいcssファイル、jsファイルを追加
- ZMI → portal_skins/custom の右上コンボで「File」を選択し、cssファイルやjsファイルをアップロード
- ZMI → portal_css に追加したファイルを登録(cssの場合)
- ZMI → portal_javascripts に追加したファイルを登録(jsの場合)
タイトルロゴ変更(クラシックテーマ使用時)
- ZMI → portal_skins/custom の右上コンボで「Image」を選択し、ロゴをアップロード
- ZMI → portal_skins/classic_styles/base_properties で「Custmize」を押し、logoNameを変更
- ZMI → portal_view_customizations/plone.logo で直書き換えも可能
Ploneの管理画面からできないのが謎すぎる。
favicon変更
ZMI → portal_skins/custom の右上コンボで「Image」を選択し、favicon.icoをアップロード。
Ploneの管理画面からできないのが謎すぎる。
修正したものを元に戻す
- (ビューレット等)ZMI → portal_view_customizations の上部「Contents」タブを選択し、対象ファイルを消す
- (その他)ZMI → portal_skins/custom の対象ファイルを消す
CSSファイルの手っ取り早い修正(クラシックテーマ使用時)
ZMI → portal_skins/classic_styles/ploneCustom.css
Ploneアップデート時にDOMツリーやCSSが変わり、レイアウトが崩れる場合があるので注意。
サイトマップ、アクセシビリティ等の表示されている部分の修正
portal_skins/plone_templates
- /accessibility-info
- /sitemap
サイトマップ、アクセシビリティ等へのリンクの個別の表示/非表示
ZMI → portal_actions/site_actions
バーチャルホストの設定(スタンドアロン用)
ZMI → root の virtual_hosting に ドメイン/Plone
を追加
(例) nigauri.me/Plone
※単独で動かす場合に必要。Apacheと連携させる場合は空でよい。
文言の変更
C:Plonebuildout-cacheeggsplone.app.locales-(バージョン番号)-py2.6.eggploneapplocaleslocalesjaLC_MESSAGES 以下にあるpoファイルを編集しmoファイルを作成する。
Poedit を使用するとよい。
データのバックアップ
- C:Plonevarblobstorage (BLOBデータ)
- C:PlonevarfilestorageData.fs (それ以外)
pythonモジュール追加
参考:http://takanory.net/zope/basic/allowmodule
- C:Ploneproducts に 「MyScriptModules」フォルダを作成
- C:Plonebuildout-cacheeggszope2-2.12.10-py2.6-win32.eggProductsPythonScriptsmodule_access_examples.py を __init__.py というファイル名で上記フォルダにコピーする
-
C:PloneproductsMyScriptModules\__init__.py を編集。以下のコメントアウトを解除する。
1234567# ModuleSecurityInfo('fnmatch').declarePublic('fnmatch', 'fnmatchcase')# ModuleSecurityInfo('re').declarePublic('compile', 'findall',# 'match', 'search', 'split', 'sub', 'subn', 'error',# 'I', 'L', 'M', 'S', 'X')# import re# allow_type(type(re.compile('')))# allow_type(type(re.match('x','x')))
正規表現チェックスクリプト
PloneFormGenの独自バリデータなどに使えるため、設定しておく。
checkRegex
パラメータ:regex, value
1 2 3 4 5 6 7 8 9 10 11 |
import re pattern = re.compile(regex) regexpResult = pattern.search(value) if regexpResult: result = True else: result = False return result |
(使用例)
python:test(here.checkRegex(‘[0-9]+’, ‘1234’), ‘1’, ‘0’) など
サイト設定に @@manage-viewlets へのリンクを追加する
- ZMI → portal_controlpanel に以下を追加。
Name manage-viewlets Id manage-viewlets Action string:$portal_url/@@manage-viewlets Permission Manage portal Category Plone Configuration - ZMI → portal_actionicons で、アイコンの設定を行う。
ビューレットの任意の場所に文字サイズ変更リンクを追加
1 2 3 4 5 6 7 8 9 10 11 12 |
<li>文字サイズ:<a href="javascript:setBaseFontSize('largeText', 1);" title="Large Text" i18n:attributes="title title_large_text;" i18n:translate="large_text">Large</a></li> <li><a href="javascript:setBaseFontSize('',1);" title="Normal Text" i18n:attributes="title title_normal_text;" i18n:translate="normal_text">Normal</a></li> <li><a href="javascript:setBaseFontSize('smallText',1);" title="Small Text" i18n:attributes="title title_small_text;" i18n:translate="small_text">Small</a></li> |
RSS配信をしたい
- コレクションを使用する(コレクションはRSSを自動生成するので)
- 「シンジケーション」タブを有効にして設定する
- ZMI → portal_actions/object/syndication
- Visible? をONにしてSave
- 編集時に「シンジケーション」タブが出現するようになるので設定を行う
「リンク」がリダイレクトされなくなった
Plone3では編集権限がない場合にリダイレクトされていたのが、Plone4ではリンクのページが表示されるようになっている。
これを以前のようにリダイレクトさせるようにするには以下の操作を行う。
- ZMI→portal_properties/site_properties
- redirect_linksをONにしてSave
コレクションポートレットに表示される日付を更新日にする
コレクションポートレットの設定で「日付を表示する」をONにすると記事名の下に日付が表示されるが、有効日付(だいたい作成日と同じだと思うけど)になってしまう。
コレクションのソート順を更新日順にしている場合わけがわからなくなるので、このチェックをONにした場合は有効日付の代わりに更新日付が表示されるよう修正する。
- ZMI→portal_view_cutomizations
-
collection.pt をクリックし、「Customize」押下
-
以下の部分を修正
123tal:content="python:toLocalizedTime(obj.Date)"↓tal:content="python:toLocalizedTime(obj.ModificationDate)"
titleタグの「—」を別のものに変える
titleタグの区切り文字(ページ名とブログ名を区切っている文字)はデフォルトでは「—」になっている(例えばこのページだと「雑多なTips群 — nigauri.me」という具合)。これはコピペミス等で文字化けの原因になるので、—のかわりに半角ハイフンか何かに直したい。
ZMIからテンプレートをいじろうと思ったが、肝心のタイトル文字列を作ってるところがWeb上からでは直せないくさい。そこで以下のようにしてZMI経由で無理やり直す。
- ZMI→portal_skins/custom に、Pythonスクリプトを作成。
今回は getReplacedPageTitle という名前で作った。引数は title。
12result = title.replace('—', '-')return result - ZMI→portal_view_customizations から、plone.htmlhead.title を選択して Customize 。
123<title tal:define="title_str view/site_title"><span tal:replace="python:here.getReplacedPageTitle(title_str)" /></title>
今回は単純な置換だけだけど getReplacedPageTitle の中身をいじることでタイトルも自由自在。