(ModX 1.0.5 を使用)
現在のスニペット (以下のスニペットを参照) を実行すると、if(empty())
チェックが完全に無視されるようです。私も試してみましたがif($promoX == '')
、運もありません。
<?php
$promo1 = '[*sidepromotop*]'; // assets/images/promo1.jpg
$promo2 = '[*sidepromobot*]'; // this variable is empty.
if(empty($promo1) && empty($promo2)){
echo '[!Ditto? &startID=`92` &depth=`1` &display=`2` &randomize=`1` &tpl=`Promo-Block-Styles`!]';
}else{
if(empty($promo1)){
echo '[!Ditto? &startID=`92` &depth=`1` &display=`1` &randomize=`1` &tpl=`Promo-Block-Styles`!]';
}else{
echo '<div class="promo"><img src="'.$promo1.'" alt="" /></div>';
}
if(empty($promo2)){
echo '[!Ditto? &startID=`92` &depth=`1` &display=`1` &randomize=`1` &tpl=`Promo-Block-Styles`!]';
}else{
echo '<div class="promo"><img src="'.$promo2.'" alt="" /></div>';
}
}
?>
上記のコードは、何らかの理由で次のように表示されます。
<div class="promo">
<img src="assets/images/promo1.jpg" alt="">
</div>
<div class="promo">
<img src="" alt="">
</div>
ご覧のとおり、変数が空であっても、コードを実行すると空ではないように扱われるようです。
私は modx に非常に慣れていないため、これについての洞察をいただければ幸いです。
ありがとう!