雑多なTips群

ひとつのページにまとめました。

ショートネームの変更方法

対象のコンテンツ → 編集操作 → 名前変更

新規作成すると記事名がそのままショートネームとなる。英語ならいいが日本語だとややこしいので手動で直す。ちなみに日本語で記事を作成した際のショートネームの付き方が、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

  1. C:Ploneproducts に 「MyScriptModules」フォルダを作成

  2. C:Plonebuildout-cacheeggszope2-2.12.10-py2.6-win32.eggProductsPythonScriptsmodule_access_examples.py を __init__.py というファイル名で上記フォルダにコピーする

  3. C:PloneproductsMyScriptModules\__init__.py を編集。以下のコメントアウトを解除する。

正規表現チェックスクリプト

PloneFormGenの独自バリデータなどに使えるため、設定しておく。

checkRegex
パラメータ:regex, value

(使用例)
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 で、アイコンの設定を行う。

ビューレットの任意の場所に文字サイズ変更リンクを追加

RSS配信をしたい

  • コレクションを使用する(コレクションはRSSを自動生成するので)
  • 「シンジケーション」タブを有効にして設定する
    1. ZMI → portal_actions/object/syndication
    2. Visible? をONにしてSave
    3. 編集時に「シンジケーション」タブが出現するようになるので設定を行う

「リンク」がリダイレクトされなくなった

Plone3では編集権限がない場合にリダイレクトされていたのが、Plone4ではリンクのページが表示されるようになっている。

これを以前のようにリダイレクトさせるようにするには以下の操作を行う。

  • ZMI→portal_properties/site_properties
  • redirect_linksをONにしてSave

コレクションポートレットに表示される日付を更新日にする

コレクションポートレットの設定で「日付を表示する」をONにすると記事名の下に日付が表示されるが、有効日付(だいたい作成日と同じだと思うけど)になってしまう。

コレクションのソート順を更新日順にしている場合わけがわからなくなるので、このチェックをONにした場合は有効日付の代わりに更新日付が表示されるよう修正する。

  • ZMI→portal_view_cutomizations
  • collection.pt をクリックし、「Customize」押下

  • 以下の部分を修正

titleタグの「&mdash;」を別のものに変える

titleタグの区切り文字(ページ名とブログ名を区切っている文字)はデフォルトでは「&mdash;」になっている(例えばこのページだと「雑多なTips群 — nigauri.me」という具合)。これはコピペミス等で文字化けの原因になるので、&mdash;のかわりに半角ハイフンか何かに直したい。

ZMIからテンプレートをいじろうと思ったが、肝心のタイトル文字列を作ってるところがWeb上からでは直せないくさい。そこで以下のようにしてZMI経由で無理やり直す。

  • ZMI→portal_skins/custom に、Pythonスクリプトを作成。

    今回は getReplacedPageTitle という名前で作った。引数は title。

  • ZMI→portal_view_customizations から、plone.htmlhead.title を選択して Customize 。

今回は単純な置換だけだけど getReplacedPageTitle の中身をいじることでタイトルも自由自在。