2017-07-10 15 views
-2

このコードでは、開始日と終了日を持つイベント日付を表示しようとしていますが、時には開始日が1つしかないこともあります。 DU 10ジュイエ2017 AU 10ジュイエ2017PHPテストと条件付き

そして唯一の開始日があれば、私はこれが表示される必要があります:開始と終了の日付がある場合は

私はこれが表示必要 LE 10ジュイエ2017(「DU」は「LE」に置き換えている)

<?php if (isset($this->item->jcfields[3]) && !empty($this->item-jcfields[3])): 
?>Du 
<?php echo FieldsHelper::render('com_content.article', 'field.render', 
array('field'=> $this->item->jcfields[3])); ?> 
     <?php endif; ?> 
     <?php if (isset($this->item->jcfields[7]) && !trim($this->item- 
>jcfields[7])): ?>Au 
<?php echo FieldsHelper::render('com_content.article', 'field.render', 
array('field'=> $this->item->jcfields[7])); ?> 
     <?php endif; ?> 
+2

できますか?それはちょうど私かもしれませんが、そのコードは読むのが不可能の横にあります – ThisGuyHasTwoThumbs

+0

横:[なぜ両方のissetと!空をチェックするのですか?](https://stackoverflow.com/q/4559925/476) – deceze

+0

私はPHPでnewbieです – Laurent

答えて

1

未テスト、および書式設定を改善しながら、私は同じあなたのコードを維持しようとしました。

<?php 
if (isset($this->item->jcfields[3]) && !empty($this->item->jcfields[3]) && $this->item->jcfields[3]->value != ''): 
    if (isset($this->item->jcfields[7]) && !empty($this->item->jcfields[7]) && $this->item->jcfields[7]->value != ''): 
     echo "Du "; 
    else: 
     echo "Le "; 
    endif; 
    echo FieldsHelper::render('com_content.article', 'field.render', array('field'=> $this->item->jcfields[3])); 
    if (isset($this->item->jcfields[7]) && !empty($this->item->jcfields[7]) && $this->item->jcfields[7]->value != ''): 
     echo " Au "; 
     echo FieldsHelper::render('com_content.article', 'field.render', array('field'=> $this->item->jcfields[7])); 
    endif; 
endif; 
+0

開始日と終了日があるが終了日がない場合のこの作業は、DU 10 JUILLET 2017 AU ありがとうございます。 – Laurent

+0

終了日が空の場合のsamr問題DU 6 JUILLET 2017 AU。 var dump https://pastebin.com/DBKJsU6X – Laurent

+0

はい、うまくいきますが、終了日がない場合は、LE 1 SEPTEMBRE 2017 AUのように表示されます.AUは無効にする必要があります。ありがとうございます。 – Laurent

関連する問題