こんにちは。hirafujiです。久々の投稿になります。
OJTに突入して、早いもので一ヶ月半もの月日が経ちました。
私は新規立ち上げのプロジェクトに配属されたので、この一ヶ月半で、ウェブサイトの設計から始まり、書類の作成、実装、テストまで、プロジェクトの何から何までを体験することができました。
そしてついに今朝、人生初のリリースというものを体験しました! この「肩の荷が降りた感」はたまりませんですね ><
…と一段落ついたところで、今回は、OJT中に悩まされた、yamlファイルへの、PHPコードの埋め込みのポイントについて書きたいと思います!
【phpの閉じタグの直後には半角スペース】
yamlファイルにphpコードを埋め込む際は、phpの閉じタグ( ?> のことです )の直後に半角スペースを入力しないと、ymlファイルはうまく動いてくれなくなります。これにはとことん悩まされました…。
どうやら、phpの閉じタグ直後の改行コードは(なぜか)削除されてしまうため、YAMLファイルの書式が崩れてしまうのが原因のようです。
と、ここまで書いておいてアレですが、似た様な記事がsymfonyで開発日記にすでに書いてありましたので、詳しくはこちらをご覧下さい…。
【例えばこんな風に使います】
以前書いた、sfCssTabsのコードを利用して実験してみます。
sfCssTabsPluginの使い方、ctSite.ymlの書き方については以前触れましたので、そちらをご覧下さい。
sfCssTabsの子タブを大量生産

この様に子タブを10個表示したい場合、上記のポイントをふまえてphpコードを埋め込むことによって、ctSite.ymlへの記述はたったこれだけで済むわけです。
# Configuration of the sub Tabs
subTabs:
<?php for( $i = 1; $i <= 10; $i++ ): ?>_
- label: '子タブ<?php echo $i; ?>'
module: 'question'
action: 'list'
linkOptions: {}
parentTab: 'questions'
<?php endfor; ?>_
※’_'は半角スペースを表しています!
じゃじゃーん。
簡単ですね〜。助かりますね〜。
色々と(というほどでもないですが)実験した結果、シングルクォート内のphpコードの閉じタグの直後には、半角スペースは必要ない様です。上記のコードで言えば、label の部分ですね。
とは言え、半角スペースを入れたところで動作は何も変わらず、子タブ名に半角スペースが表示されるだけのようですので、さほど気にする必要も無いかと思いますが。
しかし、上記のコードでは、子タブのリンク先URLが全て同じなため、子タブを10個も表示する意味が全くありませんね…。
ということで、次回はそれぞれの子タブのリンク先に異なるパラメータを渡す方法について触れたいと思います!

by スタートアップ研修記 » symfony sfCssTabsPlugin リンク先にパラメータを渡す, on 10.28.08 @ 5:39 PM
[...] 前回のyamlファイルの回で次回予告をしてしまった流れもありつつ、今回はsfCssTabsのctSite.ymlを記述する際のポイントについて書きたいと思います。 [...]