Добавление настраиваемого поля в админку OpenCart с помощью VQmod

Попытка добавить поле краткого описания на страницы категорий в бэк-офисе OpenCart. Несколько экземпляров VQmod XML отлично работают в контроллерах и моделях, но попытка использовать приведенное ниже для добавления поля на страницу категории, похоже, вообще ничего не делает. Ничего не добавляется/заменяется в category_form.tpl.

<!-- 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>

person zigojacko    schedule 09.04.2013    source источник


Ответы (1)


Сначала весь код должен быть заключен в

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

Во-вторых, вы не можете искать несколько строк, вы можете искать определенную строку, а затем использовать атрибут offset

для вашего случая использования

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

см. документацию vQmod.

person Chetan Paliwal    schedule 09.04.2013
comment
Я пытался использовать смещение и ссылался на документацию безрезультатно, ваше предложение по-прежнему приводит к тому, что поиск не найден. (Обновили мой вопрос с подробностями). Спасибо. - person zigojacko; 10.04.2013
comment
Ах, я обнаружил, что проблема на самом деле была связана с другим местом в файле XML, из-за которого моя замена, указанная выше, не запускалась. Бесполезный, как всегда, журнал ошибок. Спасибо за вашу помощь. - person zigojacko; 10.04.2013