Вы я так понял вставляите скрипт в файл шаблона *.tpl и шаблонизатор скорее всего не поддерживает вставки скриптов.
Попробуйте вставить скрипт в корневой index.php(если он есть, либо где у вас точка входа), в самом верху файла.
Могу только дать наводку начиная со строки 558 эти поля както обрабатываются. Я смотрел и не черта не понял - как.. лапша код, все в одну кучу.
Там по моему другой скрипт отвечает за xfields. addnews.php тут не причем, хотя могу ошибаться. Я очень давно копался в этом движке и остался под большим впечатлением - там черт ногу сломает.
Изменения начиная с 322 строки http://pastebin.com/u4QA2Zfy я не проверял, но должно работать(на сколько помню этот движок).
А так вообще, ДЛЕ - это такой дерьмо код.. порой до смеха некоторые строки доводят.
Это Angular, у тегов атрибуты ng-* это его директивы.
Буквально с недельку назад читал статью
Отрывок по поводу индексации ПС-ами:
Гуглим php xmlreader to array на php.net находим хороший пример - копипестим.
error_reporting(-1); header("content-type: text/plain; charset=utf-8"); function xml2assoc(&$xml){ $assoc = array(); $n = 0; while($xml->read()){ if($xml->nodeType == XMLReader::END_ELEMENT) break; if($xml->nodeType == XMLReader::ELEMENT and !$xml->isEmptyElement){ $assoc[$n]['name'] = $xml->name; if($xml->hasAttributes) while($xml->moveToNextAttribute()) $assoc[$n]['atr'][$xml->name] = $xml->value; $assoc[$n]['val'] = xml2assoc($xml); $n++; } else if($xml->isEmptyElement){ $assoc[$n]['name'] = $xml->name; if($xml->hasAttributes) while($xml->moveToNextAttribute()) $assoc[$n]['atr'][$xml->name] = $xml->value; $assoc[$n]['val'] = ""; $n++; } else if($xml->nodeType == XMLReader::TEXT) $assoc = $xml->value; } return $assoc; } $source = <<<XML <?xml version="1.0"?> <offers> <offer available="true" id="O14112180643" type="vendor.model"><article>640295700752999</article><categoryId>1401000</categoryId><currencyId>RUR</currencyId><description>Комфортные треггинсы, содержат эластан для идеальной посадки, изделие дополнено кружевными вставками, широкий эластичный пояс, узкий крой штанин</description><model>Брюки Tom Tailor 640295700752999</model><modified_time>1482808144</modified_time><name>Брюки Tom Tailor 640295700752999</name><oldprice>4999</oldprice><param name="Пол">Женский</param><param name="Цвет">черный</param><param name="Размер" quantity="2" type="size" unit="EU">34/32</param><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-1b.jpg</picture><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-2b.jpg</picture><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-3b.jpg</picture><price>1500</price><topseller>false</topseller><topseller>false</topseller><url>https://ad.admitad.com/g/641a4c7cc1e181aacf623d89878ee1/?i=5&ulp=http%3A%2F%2Ftom-tailor-online.ru%2Fshop%2Fproduct%2Fbrjuki-tom-tailor-640295700752999</url><vendor>tom tailor</vendor><vendorCode>640295700752999</vendorCode></offer> <offer available="true" id="O14112180643" type="vendor.model"><article>640295700752999</article><categoryId>1401000</categoryId><currencyId>RUR</currencyId><description>Комфортные треггинсы, содержат эластан для идеальной посадки, изделие дополнено кружевными вставками, широкий эластичный пояс, узкий крой штанин</description><model>Брюки Tom Tailor 640295700752999</model><modified_time>1482808144</modified_time><name>Брюки Tom Tailor 640295700752999</name><oldprice>4999</oldprice><param name="Пол">Женский</param><param name="Цвет">черный</param><param name="Размер" quantity="2" type="size" unit="EU">34/32</param><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-1b.jpg</picture><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-2b.jpg</picture><picture>http://tom-tailor-online.ru/images/P0/02/07/98/99/brjuki-tom-tailor-chernyjj-640295700752999-3b.jpg</picture><price>1500</price><topseller>false</topseller><topseller>false</topseller><url>https://ad.admitad.com/g/641a4c7cc1e181aacf623d89878ee1/?i=5&ulp=http%3A%2F%2Ftom-tailor-online.ru%2Fshop%2Fproduct%2Fbrjuki-tom-tailor-640295700752999</url><vendor>tom tailor</vendor><vendorCode>640295700752999</vendorCode></offer> </offers> XML; $xml = new XMLReader(); $xml->XML($source); $assoc = xml2assoc($xml); print_r($assoc);
Чего там голову с утра ломать..
Sitealert, члены в полях :) Я имел виду, что можно объявить внутри класса.
свойство - переменная, метод - функция, константа - не изменяемая переменная.
Sitealert, я раскомментировал аналог return preg_replace с e модификатором который будет работать в 5.2, а return preg_replace_callback с анонимной функцией наоборот закомментировал.
А еще константы бывают.
Выбрасывает ошибку "syntax error" а не E_DEPRECATED потому что анонимные функции появились начиная с версии 5.3
function sanitize($var, $santype = 1, $allowable_tags = ''){ if ($santype == 1) { return strip_tags($var, $allowable_tags = ''); } elseif ($santype == 2) { return htmlentities(strip_tags($var, $allowable_tags),ENT_QUOTES,'UTF-8'); } elseif ($santype == 3) { return addslashes(strip_tags($var, $allowable_tags)); } elseif ($santype == 4) { /*** Redwine: As of PHP 5.5.0, the preg_replace() emitts an error E_DEPRECATED level when passing in the "\e" modifier As of PHP 7.0.0 E_WARNING is emited in this case and "\e" modifier has no effect. ***/ return stripslashes(preg_replace('/<([^>]+)>/es', "'<'.sanitize('\\1',5).'>'",strip_tags($var, $allowable_tags))); // Substituting preg_replace with preg_replace_callback /*return stripslashes(preg_replace_callback('/<([^>]+)>/is', function($m) { return '<'.sanitize($m[1],5).'>'; }, strip_tags($var, $allowable_tags)));*/ } elseif ($santype == 5) { /*** Redwine: As of PHP 5.5.0, the preg_replace() emitts an error E_DEPRECATED level when passing in the "\e" modifier As of PHP 7.0.0 E_WARNING is emited in this case and "\e" modifier has no effect. ***/ return preg_replace('/\son\w+\s*=/is','',$var); // Substituting preg_replace with preg_replace_callback /*return preg_replace_callback('/\son\w+\s*=/is', function($m) { return ''; },$var);*/ } }
ТС, 5.5 хотябы поставьте.