Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как на vqmod игнорировать если в файле уже есть функция с таким именем?


cha0s

Recommended Posts

Например 

<file name="admin/controller/catalog/category.php">

		<operation info="test">
			<ignoreif><![CDATA[
			public function autocomplete() {
			]]></ignoreif>
			<search position="before"><![CDATA[
			public function index() {
			]]></search>
			<add><![CDATA[

			public function autocomplete() {
				...........
			}

			]]></add>
		</operation>

	</file>	

фишка такая в файле category.php уже есть функция autocomplete(), как мне ее игнорировать и вместо этому дать ему свою autocomplete(), а ту которая уже есть чтоб он не брал во внимание? такое можно сделать?

Надіслати
Поділитися на інших сайтах


Можно заменить ту, что есть на вашу.

Смотрите http://code.google.com/p/vqmod/wiki/Scripting  - параметры position="replace" и атрибут offset (раздел modification / file / operation / search).

Надіслати
Поділитися на інших сайтах


Например 



<file name="admin/controller/catalog/category.php">

		<operation info="test">
			<ignoreif><![CDATA[
			public function autocomplete() {
			]]></ignoreif>
			<search position="before"><![CDATA[
			public function index() {
			]]></search>
			<add><![CDATA[

			public function autocomplete() {
				...........
			}

			]]></add>
		</operation>

	</file>	

фишка такая в файле category.php уже есть функция autocomplete(), как мне ее игнорировать и вместо этому дать ему свою autocomplete(), а ту которая уже есть чтоб он не брал во внимание? такое можно сделать?

т.е. надо заменить всю имеющуюся функцию на свою? если так, то все будет выглядеть как-то так:

	<file name="admin/controller/catalog/category.php">
		<operation error="log">
			<search position="replace" offset="17"><![CDATA[
public function autocomplete() {
			]]></search>
			<add><![CDATA[
			public function autocomplete() {
				...........
			}
			]]></add>
		</operation>
	</file>

offset="17" значит сколько строк удалять после найденной строки.

Надіслати
Поділитися на інших сайтах

что-то как-то не хочет схватывать, посмотри все верно указано пример:

<modification>
        <id>model number not required for data entry/id>
        <file name="admin/controller/catalog/product.php">
                <operation>
                        <search position="replace" offset="3"><![CDATA[
                        if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
                        ]]></search>
                        <add><![CDATA[]]></add> 
                </operation>
        </file> 
</modification>

в файле admin/controller/catalog/product.php имееться проверка(3 строки)

    	if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
      		$this->error['model'] = $this->language->get('error_model');
    	}

Мне нужно ее просто убрать вообще... чтоб за место нее было просто пусто. Выше в xml что не так? указываю где, указываю offset 3 строки, и указываю на что это убрать..

Надіслати
Поділитися на інших сайтах


не чего вообще не происходит буд-то не чего нету... мне ведь достаточно создать один файл с расширением .xml и расположить его в каталоге vqmod/xml?

в логах самого vqmod
---------- Date: 2013-09-06 15:44:33 ~ IP : ----------
REQUEST URI : /index.php?route=product/product&amp;amp;sort=p.price&amp;amp;order=DESC&amp;amp;page=3&amp;amp;product_id=252032
DOM UNABLE TO LOAD: /home/public_html/vqmod/xml/data_entry.xml
----------------------------------------------------------------------

больше нет нефига) а в data_entry.xml находиться это:

П.С если что vqmod у меня установлен другие xml работают.... а как делаю свою так вакуум... хотя вроде даже мануал посмотрел вроде все верно

<modification>
        <id>model number not required for data entry/id>
        <version>1.5.5.1</version>
        <vqmver>1.0</vqmver>
        <author>Dimitry</author>
        
        <file name="admin/controller/catalog/product.php">
                <operation>
                        <search position="replace" offer="3">
                        <![CDATA[    	if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {]]>
                        </search>
                        <add><![CDATA[]]></add> 
                </operation>
        </file> 
 </modification>
Надіслати
Поділитися на інших сайтах


Не за что.

А вообще - очень помогает сравнить оригинальный файл и тот, который получился в результате работы vqmod (он есть в кеше vqmod) - сразу видно что не так :)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.