標籤:images 引用 無效 name logs 解決辦法 不能 man 開發
開發環境:
語言:PHP
架構:ThinkPHP
問題:在引用外掛程式My97DatePicker時,想實現:開始日期不能大於結束日期,結束時間不能小於開始時間
步驟一、查看文檔官方文檔http://www.my97.net/dp/demo/index.htm可以看到實現辦法如下:
步驟二、按照文檔說明,作用於自己代碼中:
<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,maxDate:‘#F{$dp.$D(\‘end_time\‘)}‘})"/><input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,minDate:‘#F{$dp.$D(\‘start_time\‘)}‘,maxDate:‘{$max_end_norm}‘})"/>
運行發現,maxDate和minDate控制總是失效
排查發現問題:
查看緩衝Cache發現如下問題:
<input name="start_time" type="text" id="start_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,maxDate:‘#F<?php echo ($dp["$D(‘end_time‘)"]); ?>‘})"/><input name="end_time" type="text" id="end_time" class="Wdate" onClick="WdatePicker({dateFmt:‘yyyy-MM-dd‘,minDate:‘#F<?php echo ($dp["$D(‘start_time‘)"]); ?>‘,maxDate:‘<?php echo ($max_end_norm); ?>‘})"/>
可以看到maxDate和minDate內容全部被當做PHP變數<?php echo ($dp["$D(‘end_time‘)"]); ?>和<?php echo ($dp["$D(‘start_time‘)"]); ?>編譯輸出了,而我們想要的結果是作為常量;
解決辦法:
方法1.在標籤的{
和$
之間增加一個空格,讓php標籤無效參考連結 (推薦方法)
例如:{$name} 修改成:{ $name}
方法2.改變預設的開始標記和結束標記 參考連結
‘TMPL_L_DELIM‘=>‘<{‘,‘TMPL_R_DELIM‘=>‘}>‘,
方法3.可以使用literal標籤來防止模板標籤被解析 參考連結
<literal>{$name}</literal>
以上自己遇到的問題及解決辦法;
解決:My97DatePicker 日期外掛程式引用在PHP檔案中maxDate和minDate控制失效問題