有没有一种方法可以创建可访问商店所有(前端)页面的OpenCart模块? 我想要的是用户不必将该模块“绑定”到所有布局,以使其存在于所有页面中。 基本上我想要构建一个模块,向应用程序的每个页面注入一些js代码,并根据后端的一些OpenCart挂钩在前端运行一些额外的js代码或在后端运行一些额外的js代码。 谢谢如何访问opencart模块上的所有前端页面?
回答
我不确定你要找的是什么,说你想要一个模块“访问”商店的所有(前端)页面。模块必须放置在布局中,布局可以分配给多个页面。
每个布局可以具有专门指定给您可以指定(和自定义)的区域的元素。例如,您可能想在公共标题中为模块创建一个特殊位置。您只需在自己指定的文件夹中创建控制器,语言和视图文件(在我的示例中,我将使用通用文件夹),然后让这些文件称为“loadjs”。
在common/header.php
和.tpl
文件之后的模式。请确保在控制器文件中更改类和文件名以匹配。因此,您将在包含ControllerCommonLoadjs
类,language/(your language)/common
文件夹中的文件和view/theme/(your theme name)/template/common
文件夹中的loadjs.tpl
文件的控制器文件夹的公用目录中创建loadjs.php
文件。
将$data['loadjs'] = $this->load->controller('common/loadjs');
添加到您的controller/common/header.php
文件中并将<?php echo $loadjs; ?>
加入您的view/theme/(your theme name)/template/common/header.tpl
文件中。你现在可以创建你的模块。
但是,为了能够将它添加到您的布局中,您需要对某些管理文件进行一些更改。 Add $_['text_loadjs'] = 'Loadjs';
到您的admin/language/(your language)/design/layout.php
文件和$data['text_loadjs'] = $this->language->get('text_loadjs');
到您的admin/controller/design/layout.php
文件。
您还需要对admin/view/template/design/layout_form.tpl
文件进行更改。查找以下代码:
<option value="content_top" selected="selected"><?php echo $text_content_top; ?></option>
<?php } else { ?>
<option value="content_top"><?php echo $text_content_top; ?></option>
<?php } ?>
<?php if ($layout_module['position'] == 'content_bottom') { ?>
<option value="content_bottom" selected="selected"><?php echo $text_content_bottom; ?></option>
<?php } else { ?>
<option value="content_bottom"><?php echo $text_content_bottom; ?></option>
<?php } ?>
,并添加略低于下面的代码:
<?php if ($layout_module['position'] == 'loadjs') { ?>
<option value="loadjs" selected="selected"><?php echo $text_loadjs; ?></option>
<?php } else { ?>
<option value="loadjs"><?php echo $text_loadjs; ?></option>
<?php } ?>
现在,登录到您的Opencart的仪表板和你的模块添加到您的布局loadjs位置。这应该做到这一点。
非常感谢您的评论。我想要的是添加一个JavaScript的标题,无论主题,并没有用户编辑任何文件。那可能吗? – paptom
好吧,你不需要为此添加模块。我假设您的原始请求有权访问网站的“所有”前端页面,您希望在每个页面上放置相同的JavaScript。如果这就是你想要的,并且你的所有页面共享相同的视图/主题/(你的主题名称或默认)/template/common/header.tpl文件,那么你所需要做的就是将JavaScript直接添加到标题中至少这是最简单最直接的方式。)还有其他方法,但是它们逐渐涉及更多。 – JasonF
如果您使用的是默认的header.tpl文件,则无论您选择哪个主题,只需要一次添加javascript。如果您在每个主题中使用自定义的header.tpl文件,则需要将javascript添加到每个主题header.tpl文件中。 – JasonF
- 1. magento - 与所有页面前端的HTTPS
- 2. 如何访问当前[网页]页面(当前页面之外)?
- 3. 在需要的页面上调用模块Opencart
- 4. require.js:访问所有加载的模块
- 5. 如何显示opencart模块中的所有产品信息?
- 6. 如何显示前端页面上WP_List_Tables
- 7. 如何在opencart的单个页面中显示所有产品?
- 8. MS UNITY:如何访问我的所有模块的字典?
- 9. 如何在页面上嵌入模块?
- 10. 分页在前端模块的Joomla
- 11. Robots.txt阻止访问所有https://页面
- 12. 页眉和页脚都没有的Prestashop前端模块
- 13. 如何从每个页面访问django-cms中的所有页面对象?
- 14. 如何维护和访问所有页面都可访问的javascript变量?
- 15. opencart的自定义页脚模块v1.5.2.1
- 16. 为网站上访问的所有页面导出cookie
- 17. 使用JQuery访问页面上的所有Facebook Like按钮
- 18. 如何访问iFrame正在访问的页面上的DIV?
- 19. Opencart - 在添加到页面时显示模块的标题
- 20. PHP Opencart的分类模块问题
- 21. Prestashop 1.6 - 在自定义模块中创建前端页面
- 22. 在页面模板中访问撇号用户模块字段
- 23. pyrocms:在创建模块时在前端禁止访问
- 24. OpenCart的新页面
- 25. 向所有页面(包括视图,模块页面等)添加“相关页面”
- 26. Opencart主页上的多个功能模块
- 27. 模块给出错误页面未找到。 Opencart 2.3.0.2
- 28. Opencart翻译模块
- 29. Opencart模块调整
- 30. 如何让PowerShell WorkFlow访问先前导入的模块
您是否尝试通过vQmod或ocmod修改页脚或标题? – DigitCart