VQmod

Тема в разделе "OpenCart", создана пользователем Eevvggeennyy, 2 апр 2015.

  1. Eevvggeennyy

    Eevvggeennyy

    Регистрация:
    11 июн 2013
    Сообщения:
    50
    Симпатии:
    0
    Возник вопрос во vqmod.
    Есть два модуля использующих его. Оба модуля должны править один и тот же product.tpl.
    Как себя поведет vqmod? Сам разберется или будут конфликты и надо будет что-то вручную менять?
     
  2. hicenko

    hicenko

    Регистрация:
    24 янв 2013
    Сообщения:
    97
    Симпатии:
    17
    Должен сам разобраться, если нет, то удалите в xml строки связанные с product.tpl и запишите их вручную.
     
  3. otrok01

    otrok01

    Регистрация:
    3 апр 2015
    Сообщения:
    2
    Симпатии:
    0
    Мне кажется всё что в vqmod предусмотрено модулем, он делает сам )))
     
  4. black_kasper

    black_kasper

    Регистрация:
    5 окт 2013
    Сообщения:
    79
    Симпатии:
    30
    а вы уже тестировали отработку этих модулей ?
    vqmod предусматривает такую возможность
     
  5. paf24

    paf24

    Регистрация:
    27 янв 2015
    Сообщения:
    87
    Симпатии:
    14
    Должно все работать, ведь vqmod не меняет системных файлов, а заменяет на лету.
     
  6. Eevvggeennyy

    Eevvggeennyy

    Регистрация:
    11 июн 2013
    Сообщения:
    50
    Симпатии:
    0
    Да в том и дело, что стоят несколько модулей, которые меняют одни и те же файлы. И лезут ошибки. И не понятно, ошибки из-за этого или нет. Магазин рабочий. Особо экспериментировать не хочется.
     
  7. Pelmen2

    Pelmen2

    Регистрация:
    26 янв 2015
    Сообщения:
    169
    Симпатии:
    14
    смотри, принцип работы заключается в том, чтобы найти нужную строчку в изменяемом файле и добавить/изменить/удалить код в этой позиции.
    если два файла используют один и тот же код, тогда получается конфликт.

    выход: руками объединить оба файла в один.
     
  8. art-denis

    art-denis

    Регистрация:
    2 авг 2013
    Сообщения:
    45
    Симпатии:
    6
    Все зависит от того как написан vqmod модуль - нужно просматривать что он делать то будет.
    Бывают стандартные команды, а бывают которые не особо рекомендуются использовать.
    Стандартные это которые гласят
    - найти совпадение и вставить новый код перед или после

    А бывают стоят команды модуле которые гласят
    - найти совпадение и подняться на 5 строк выше и вставить код ( а вот здесь ххх знает что у Вас стоит впереди или после на 5 строчек)
     
  9. alex_vin

    alex_vin

    Регистрация:
    28 дек 2012
    Сообщения:
    119
    Симпатии:
    30
    не разу не видел такого, правда и с vqmod работаю редко)
    А то что если оба модуля полезут в один и тот же файл и будут править одну и ту же строку, то думаю будут ошибки по любому.
     
  10. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    285
    Симпатии:
    312
    Все xml файлы vqmod обрабатываются по очереди(по алфавиту, как установлено системой), т.е. если два файла xml редактируют одну и ту же строку, то первым ее отредактирует файл с именем a.xml, а b.xml не сможет найти эту строку. Чтобы исправить конфликт файл b.xml должен искать и редактировать строку, которую добавил a.xml. Актуально на всех версиях.
     
  11. art-denis

    art-denis

    Регистрация:
    2 авг 2013
    Сообщения:
    45
    Симпатии:
    6
    Обычно так выглядит
    <search position="after" offset="5">

    А так на заметку
    Обязательный атрибут - position. Возможные значения - before, after, replace, top, bottom, all, ibefore, iafter.
    По умолчанию - replace. Заменяет строку в search на код в add.
    before - вставляет код из add перед строкой из search.
    after - вставляет код из add после строки из search.
    top вставит код из add в начале файла. search игнорируется.
    bottom вставит код из add в конце файла. search игнорируется.
    ibefore вставит код из add вместо строки перед строкой из search.
    iafter вставит код из add вместо строки после строки из search.
    all - начинаюя с версии 2.4.0 устаревший (deprecated) тэг. Это означает, что в ближайших версиях от него откажутся совсем. Заменяет весь файл на содержимое add. search игнорируется.

    Необязательный атрибут offset - определяет сдвиг позиции операции. Например, offset="3". Тогда приposition="before" содержимое add будет вставлено за 3 строки до содержимого search, а при position="after" через 3 строки после. В случае position="replace" строка из search и следующие 3 строки заменяются на содержимое add. При position="top" содержимое add вставляется после 3 строк с начала файла, при position="bottom" - за 3 строки до конца.

    Необязательный атрибут index - указывает, какая (какие) по счету из найденных одинаковых строк из searchподлежит(ат) операции. Если таковых несколько - перечисляем через запятую. Например, в search указано "echo". "echo" в искомом файле повторяется 5 раз, но заменить нам нужно только первое и третье. Тогда пишем index="1,3". По умолчанию (т.е. если index не указан) заменяются все вхождения.

    поэтому и советую каждый xml файл просматривать, что он собирается делать с Вашим сайтом