誰かが私のページテンプレートの変数$ SubTitleに "Hire"という単語が含まれているかどうかを確認するTextParser関数のトラブルシューティングに役立ちますか?Silverstripe Text Parser関数が値を返さない
$ SubTitleに "Hire"という単語が含まれていると、関数は表示されなくなります。私は$ str = $ SubTitleとは関係がありますが、これを正しく書く方法はわかりません。これらOrderItem
のクラスから来ている場合は、
public function getVisibility()
{
return strpos($this->SubTitle, 'Hire') === false ? 'hidden' : 'visible';
}
または:あなたはOrderItem
サブクラスを自分で実装している場合
class OrderTypeExtension extends TextParser
{
function parse(){
$str = $SubTitle;
if (strpos($str, 'Hire') !== false)
return 'visible';
else return 'hidden';
}
}
違反はありませんが、あなたのコードでは、SilverStripeとプログラミングに関する一般的な知識はあなたには間違いないと思います。私は 'TextParser'を使うよりも良い解決策があると確信しています...あなたのページの' SubTitle'フィールドですか? – bummzack
違反はありません。私は過去12ヶ月間にそれに精通してきましたが、機能は非常に緑色で、基本を拡張しようとしています。 SubTitleは、サイトのカートページのOrderItem情報の可変部分を指します。説明するにはどうすればよいかわかりませんが、その機能は以下のとおりです。 public function SubTitle() { リターン 'Hire:' $ this-> Lease() - > Title;/* '($' '$ this-> Lease() - > PricePerLength。'/mth) '*/ } – kegs
silvershopを使用していますか?それはあなたがその 'SubTitle'関数を実装したカスタムOrderItemクラスですか、どうやって追加しましたか?あなたが提供した情報から、 'SubTitle'は常に' Hire'という文字列を含んでいるようです。私はあなたがあなたの質問にいくつかの情報を追加して答えることができると思う。 – bummzack