Yani temel olarak bir segmentin modelini kontrol etmemiz gerekiyor ve eğer bizim modellerimizle uyuşmuyorsa, girişlerimize başlamak için devam ediyoruz (seg2cat aracılığıyla).
{segment_2}
bir tarihse, ya YYYY-MM
veya YYYY-AA-DD
şeklinde biçimlendirilir, aksi halde bir dizedir.
<?php
$this->EE =& get_instance();
$seg2 = $this->EE->uri->segment(2);
$date_pattern_half = '/^[0-9]{4}-(0[1-9]|1[0-2])$/';
$date_pattern_full = '/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/';
if( preg_match($date_pattern_full, $seg2) || preg_match($date_pattern_half, $seg2) ) {
?>
{exp:low_events:entries channel="calendar" date="{segment_2}"}
<?php } else { ?>
{exp:low_events:entries channel="calendar" category="{segment_2_category_id}"}
<?php } ?>
... do stuff with entries here ...
{/exp:low_events:entries}
Geri döndüğümüz hata şu:
Ayrıştırma hatası: /server/domain/system/expressionengine/libraries/Functions.php(679 içindeki sözdizimi hatası, beklenmeyen '}': eval() '68 satırındaki d kodu
referans için, Functions.php dosyasındaki yukarıdaki işlev:
/**
* eval()
*
* Evaluates a string as PHP
*
* @access public
* @param string
* @return mixed
*/
function evaluate($str)
{
return eval('?'.'>'.$str.'<?php ');
}
As for the 'line 68' val it's just a closing
tag.
Açılış döngülerini ( {exp: low_events: entries}
) kaldırdığımızda, bu hatayı almadığımıza da dikkat etmeliyiz.
Alternatif sözdizimini <? PHP else:?>
vb. Denedik ancak yukarıdakiler yerine beklenmedik bir T_ELSE
aldık.