Перейти к содержанию
hon2012

Вопрос по VQMOD файлу .xml

Рекомендуемые сообщения

Вношу правки в код магазина из xml файла - наткнулся на такой кусок:

<operation>

<search position="before" index="2" offset="3"><![CDATA[

//--></script>

]]></search>

<add><![CDATA[

*/

]]></add>

</operation>

Все понял кроме того, что значит: "index="2" offset="3">

Кто подскажет что означают эти параметры? какую команду VQMod они дают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищет второй //--></script> в файле и поднимается на 3 строки выше от найденного и там вставляет закрывающий тег комментария */ ИМНО

вот тут можно про все параметры прочитать http://code.google.c.../wiki/Scripting

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<search position="before" index="2" offset="3"><![CDATA[

index означает что брать нужно второе совпадение искомой фразы.

offset вместе с before означает что вставить код нужно на 3 строчки перед найденной фразой.

А вообще такой код лучше вообще не использовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

index означает что брать нужно второе совпадение искомой фразы.

offset вместе с before означает что вставить код нужно на 3 строчки перед найденной фразой.

А вообще такой код лучше вообще не использовать

А почему лучше такой код вообще не использовать?

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что такой код может породить много конфликтов в будущем. Никогда не стоит забывать что ваш модуль не единственный в системе!

Если например 2 модуля будут добавлять свой код в то самое место то в случае если используется только before все добавится нормально. А в случае если используется replace или offset вместе с before или offset вместе с replace итд. второй модуль может вообще все поломать. Даже на оф. сайте vqmod-а написано "When possible it's advised to avoid doing this"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на оф сайте написано если есть возможность, старайтесь не делать так.

но порой это единственный способ

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

 

а подскажите пожалуйста что может значить offset=51 в таком случае:

 

        <operation>
            <search position="replace" offset="51"><![CDATA[$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id);]]></search>
            <add><![CDATA[            $mail->setTo($this->config->get('config_email'));
            $mail->send();]]></add>
        </operation>

 

- это  в <file name="catalog/model/checkout/order.php">

(далаю по инструкции копию письма админу сайта при заказе - подробного письма).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а подскажите пожалуйста что может значить offset=51 в таком случае:

это значит что заменяется строка, которую ищут и еще 51 строка, следующая за ней.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.