1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Advent Calendar 2018

Day 5

Smarty で連想配列に値を assign する

Last updated at Posted at 2018-12-04

あんまりいい記事じゃないけど、情報ないので書きます

やりたいこと

Smarty では連想配列を表現するとき、ドットを使える
でも変数の代入 (assign) のときには使えない

たとえば、
{assign var="app.hoge" value="$app.fuga.hoge"}
は内部的には次の処理になる
$vars['app.hoge'] = $vars['app']['fuga']['hoge']

取り出すときは、$vars['app']['hoge'] となるので取り出すことができない

調べてみても内部触るのが多い

{php}
$this->_tpl_vars['app']['hoge'] = $this->_tpl_vars['app']['huga']['hoge'];
{/php}

そこで思いついたのがこれ

{assign var="app" value=$app|array_merge:$app.fuga}

$app.fugahogeがいるので$app.hogeで取り出すことができる

でもこれが使われることはなかった

すごく限定的な使い方だし、
最終的には、配列を使わない構造に PHP 側を直したので使われなかった

おしまい

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?