opencart中有一个函数,我需要替换如下:
protected function validateDelete() {
if (!$this->user->hasPermission('modify', 'catalog/download')) {
$this->error['warning'] = $this->language->get('error_permission');
Run Code Online (Sandbox Code Playgroud)
应该:
protected function validateDelete() {
if (!$this->user->hasPermission('delete', 'catalog/download')) {
$this->error['warning'] = $this->language->get('error_permission_delete');
Run Code Online (Sandbox Code Playgroud)
我试过了:
<search position="replace"><![CDATA[
protected function validateDelete() {
if (!$this->user->hasPermission('modify',]]></search>
<add><![CDATA[
protected function validateDelete() {
if (!$this->user->hasPermission('delete',
]]></add>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.第三行出现在多个位置,因此无法单行替换.
请帮忙
我经常使用 Sublime Text 编辑 vQmod 代码。对于那些不知道的人来说,vQmod 是一个动态搜索/替换应用程序,它使用 XML 动态修改 OpenCart 中的核心文件。搜索位置和要添加的代码通常都包含在CDATA标签内。可以理解的是,所有语法突出显示规则都将CDATA标签内的任何内容视为未应用语言规则的纯文本块。但在这种情况下,其中包含的代码可以是 HTML、PHP、JavaScript 或内联 CSS。
有没有办法可以修改语法突出显示规则,以便 CDATA 标记中包含的文本仍将被评估为代码?
这是一个例子:
<operation>
<search position="after"><![CDATA[public function index()]]></search>
<add><![CDATA[
$data['examples'] = $this->model_extension_extension->getExamples();
]]>
</add>
</operation>
Run Code Online (Sandbox Code Playgroud)
代码<search>不太重要,但我希望其中的任何内容都<add><![CDATA[被]]></add>识别为 php。有时,这些是非常长的块代码,并且在这里突出显示正确的语法确实会有所帮助。
我正在用VQmod为Opencart编写我的第一个xml文件.看到这些台词:
<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id>Exibe porcento de desconto</id>
<version>1.0</version>
<vqmver>2.1.5</vqmver>
<author>Oldman</author>
<file name="catalog/view/theme/my_theme/template/product/product.tpl">
<operation>
<search position="after"><![CDATA[<?php if ($price) { ?>
<div class="price">
<span class="txt_price"><?php echo $text_price; ?></span>
<?php if (!$special) { ?>
<?php echo $price; ?>
<?php } else { ?>
<span class="price-old"><?php echo $price; ?></span> <span class="price-new"><?php echo $special; ?></span>
<?php } ?>]]></search>
<add><![CDATA[ <?php echo 'Works fine!';?>]]></add>
</operation>
</file>
</modification>
Run Code Online (Sandbox Code Playgroud)
但是,当我将xml文件放入vqmod/xml文件夹时,它不起作用.我究竟做错了什么?
我已经安装了这个模块([ http://www.opencart.com/index.php?route=extension/extension/info&extension_id=11671][1]在我的车),但是当我尝试编辑博客的模块其输出我这些错误可以帮助我摆脱这个错误.谢谢
Notice: Indirect modification of overloaded property ControllerModuleBlog::$data has no effect in C:\xampp\htdocs\chip\admin\controller\module\blog.php on line 146Notice: Indirect modification of overloaded property ControllerModuleBlog::$data has no effect in C:\xampp\htdocs\chip\admin\controller\module\blog.php on line 148Notice: Indirect modification of overloaded property ControllerModuleBlog::$data has no effect in C:\xampp\htdocs\chip\admin\controller\module\blog.php on line 154Notice: Indirect modification of overloaded property ControllerModuleBlog::$data has no effect in C:\xampp\htdocs\chip\admin\controller\module\blog.php on line 160Notice: Indirect modification of overloaded property ControllerModuleBlog::$data has no effect in C:\xampp\htdocs\chip\admin\controller\module\blog.php on line 166Notice: Indirect modification of overloaded property ControllerModuleBlog::$data …Run Code Online (Sandbox Code Playgroud)