2013-04-09 105 views
1

嘗試向OpenCart後臺的類別頁面添加簡短描述字段。在控制器和模型中有多個VQmod XML實例可以正常工作,但是嘗試使用下面的代碼將該字段添加到類別頁面看來完全沒有任何作用。在category_form.tpl中根本沒有添加/替換。使用VQmod向OpenCart管理員添加自定義字段

<!-- This adds the short description field to the admin category page --> 
<file name="admin/view/template/catalog/category_form.tpl"> 
    <operation> 
     <search position="replace"><![CDATA[    <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></search> 
     <add><![CDATA[    <tr> 
       <td><?php echo $entry_short_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>   
       <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></add> 
    </operation> 
</file> 

很明顯這更好的辦法,因爲我不認爲我應該試圖在這裏代替所有這些代碼做的,但如果我任何人都可以在好心檢查代碼並指出在那裏我已經出了錯, 那太好了。謝謝。

更新

我的XML代碼被包裹在<modification></modification>的方式....

我已經嘗試使用偏移,並提到了VQmod文檔,但仍一時無法獲得這項權利?

我曾嘗試: -

<file name="admin/view/template/catalog/category_form.tpl"> 
    <operation> 
     <search position="replace" offset="1"><![CDATA[<td><?php echo $entry_description; ?></td>]]></search> 
     <add><![CDATA[    <tr> 
       <td><?php echo $entry_short_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr> 
       <tr> 
       <td><?php echo $entry_description; ?></td> 
       <td><textarea name="category_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['description'] : ''; ?></textarea></td> 
       </tr>]]></add> 
    </operation> 
</file> 

回答

1

首先整個代碼應該被包裹在

<modification> 
    <file ...> 
     .... 
    </file> 
</modification> 

第二你不能搜索多行,您可以搜索特定的行,然後用offset屬性

您的情況使用

<search position="replace" offset="1"><![CDATA[ <td><?php echo $entry_description; ?></td>]]></search> 

參考vQmod documentation

+0

我曾嘗試使用偏移量,並提到文檔無濟於事,你的建議仍然導致搜索不被發現。 (已更新我的問題的細節)。謝謝。 – zigojacko 2013-04-10 07:35:26

+0

啊,我發現這個問題實際上是由於XML文件中的另一個地方導致我的上面指定的替換不運行。無用的錯誤日誌。儘管如此,感謝您的幫助。 – zigojacko 2013-04-10 08:20:29

相關問題