用 OCMOD 替换管理员 TPL 文件
Replace admin TPL files with OCMOD
我目前正在自学 OpenCart 和 OCMOD。我对系统如何创建 XML mod 文件并通过 modifications 接口上传文件或直接将 XML 数据添加到 XML mod 化 table 行。
我可以成功地使用 XML 搜索文件并替换代码行或在之前或之后插入。基本上是基础知识。我还没有学习 XML.
的全部功能
我的问题是,我怎样才能完全覆盖一个文件?就像我说的,我可以通过仅搜索一行来查找、替换或向文件添加代码,但如下例所示,当我尝试搜索整个文件并进行简单的替换时,它不起作用。
<!-- admin dashboard overide -->
<file path="admin/view/template/common/dashboard.tpl">
<operation>
<!-- search the whole file??? -->
<search>
<![CDATA[
<?php echo $header; ?><?php echo $column_left; ?>
<div id="content">
<div class="page-header">
<div class="container-fluid">
<h1><?php echo $heading_title; ?></h1>
<ul class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
<div class="container-fluid">
<?php if ($error_install) { ?>
<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_install; ?>
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
<?php } ?>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $order; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $sale; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $customer; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $online; ?></div>
</div>
<div class="row">
<div class="col-lg-6 col-md-12 col-sx-12 col-sm-12"><?php echo $map; ?></div>
<div class="col-lg-6 col-md-12 col-sx-12 col-sm-12"><?php echo $chart; ?></div>
</div>
<div class="row">
<div class="col-lg-4 col-md-12 col-sm-12 col-sx-12"><?php echo $activity; ?></div>
<div class="col-lg-8 col-md-12 col-sm-12 col-sx-12"> <?php echo $recent; ?> </div>
</div>
</div>
</div>
<?php echo $footer; ?>
]]>
</search>
<!-- replace whole file with below -->
<add position="replace">
<![CDATA[
<div class="col-xs-12">OCMOD MODIFIED WORKING????? </div>
]]>
</add>
</operation>
</file>
您可以使用 offset
作为 search
的属性,并将文件中的行数用作其值:
offset="35"
这对我有用:
<file path="admin/view/template/common/dashboard.tpl">
<operation>
<search offset="35">
<![CDATA[<?php echo $header; ?><?php echo $column_left; ?>]]>
</search>
<add position="replace">
<![CDATA[
<div class="col-xs-12">OCMOD MODIFIED WORKING????? </div>
]]>
</add>
</operation>
</file>
感谢您的回复 Mojaba,我确实尝试过并且该过程确实有效所以谢谢,但我这样做的方式是我在 admin/view/template/ 中创建了另一个名为 'custom' 的文件夹并创建了一个在其中自定义 dashboard.tpl。然后我使用 OCMOD 来编辑控制器并替换它正在加载的视图,如下所示。 :)
<file path="admin/controller/common/dashboard.php">
<operation>
<search>
<![CDATA[
$this->response->setOutput($this->load->view('common/dashboard', $data));
]]>
</search>
<add position="replace">
<![CDATA[
$this->response->setOutput($this->load->view('custom/dashboard', $data));
]]>
</add>
</operation>
我目前正在自学 OpenCart 和 OCMOD。我对系统如何创建 XML mod 文件并通过 modifications 接口上传文件或直接将 XML 数据添加到 XML mod 化 table 行。
我可以成功地使用 XML 搜索文件并替换代码行或在之前或之后插入。基本上是基础知识。我还没有学习 XML.
的全部功能我的问题是,我怎样才能完全覆盖一个文件?就像我说的,我可以通过仅搜索一行来查找、替换或向文件添加代码,但如下例所示,当我尝试搜索整个文件并进行简单的替换时,它不起作用。
<!-- admin dashboard overide -->
<file path="admin/view/template/common/dashboard.tpl">
<operation>
<!-- search the whole file??? -->
<search>
<![CDATA[
<?php echo $header; ?><?php echo $column_left; ?>
<div id="content">
<div class="page-header">
<div class="container-fluid">
<h1><?php echo $heading_title; ?></h1>
<ul class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
<div class="container-fluid">
<?php if ($error_install) { ?>
<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_install; ?>
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
<?php } ?>
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $order; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $sale; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $customer; ?></div>
<div class="col-lg-3 col-md-3 col-sm-6"><?php echo $online; ?></div>
</div>
<div class="row">
<div class="col-lg-6 col-md-12 col-sx-12 col-sm-12"><?php echo $map; ?></div>
<div class="col-lg-6 col-md-12 col-sx-12 col-sm-12"><?php echo $chart; ?></div>
</div>
<div class="row">
<div class="col-lg-4 col-md-12 col-sm-12 col-sx-12"><?php echo $activity; ?></div>
<div class="col-lg-8 col-md-12 col-sm-12 col-sx-12"> <?php echo $recent; ?> </div>
</div>
</div>
</div>
<?php echo $footer; ?>
]]>
</search>
<!-- replace whole file with below -->
<add position="replace">
<![CDATA[
<div class="col-xs-12">OCMOD MODIFIED WORKING????? </div>
]]>
</add>
</operation>
</file>
您可以使用 offset
作为 search
的属性,并将文件中的行数用作其值:
offset="35"
这对我有用:
<file path="admin/view/template/common/dashboard.tpl">
<operation>
<search offset="35">
<![CDATA[<?php echo $header; ?><?php echo $column_left; ?>]]>
</search>
<add position="replace">
<![CDATA[
<div class="col-xs-12">OCMOD MODIFIED WORKING????? </div>
]]>
</add>
</operation>
</file>
感谢您的回复 Mojaba,我确实尝试过并且该过程确实有效所以谢谢,但我这样做的方式是我在 admin/view/template/ 中创建了另一个名为 'custom' 的文件夹并创建了一个在其中自定义 dashboard.tpl。然后我使用 OCMOD 来编辑控制器并替换它正在加载的视图,如下所示。 :)
<file path="admin/controller/common/dashboard.php">
<operation>
<search>
<![CDATA[
$this->response->setOutput($this->load->view('common/dashboard', $data));
]]>
</search>
<add position="replace">
<![CDATA[
$this->response->setOutput($this->load->view('custom/dashboard', $data));
]]>
</add>
</operation>