首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Module文件结构中放置其他非XML文件的最佳位置是什么?

在Module文件结构中放置其他非XML文件的最佳位置是什么?
EN

Stack Overflow用户
提问于 2012-01-03 14:30:54
回答 3查看 73关注 0票数 0

我做了一些搜索,在这个主题上找到了this thread,但它是特定于XML文件的,所以对XML文件的答案(/etc/)是有意义的。

在我的例子中,我实际上存储了一个txt文件,它恰好是我在modman脚本中转储的SVN版本号。

我使用它的位置是在一个前端模型(Blocks/System/Html.php)中,该模型输出模块配置中的版本号。所以我暂时选择了块/系统/目录-文件名为Version.txt -但感觉应该有一个更好的位置来放置它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-03 16:09:16

我在开发发货模块时遇到了同样的问题。我有一堆包含最大重量/交付成本映射的CSV文件。无论如何,我在模块级创建了一个data/目录,并将所有内容都放入其中。

我不认为这种情况在Magento代码库中不会经常发生,以至于有一个既定的约定。只要您使用合理的命名,并提供一定级别的抽象来应对将来文件位置的任何更改,我就建议您将其放在模块根目录下的任何文件夹中。

票数 1
EN

Stack Overflow用户

发布于 2012-01-03 20:35:11

因为这个SVN版本号是由外部工具编写的,所以我不希望它弄乱代码目录的内容(在真实环境中可能有写限制),而是让它写到"var“目录。在这种情况下,为了在"var“中获得正确的路径,您可以使用:

代码语言:javascript
复制
$fullpath = Mage::getBaseDir('var') . DS . $path;

"var“的内容是一次性的,它们可能会在任何时候被删除,所以要为丢失的文件做好准备。

票数 3
EN

Stack Overflow用户

发布于 2012-01-03 17:21:55

可以将版本号添加到app/code/local/Your/Extension/etc/config.xml

代码语言:javascript
复制
<config>
    <modules>
        <Your_Extension>
            <version>0.0.0.0</version>
        </Your_Extension>
    </modules>
</config>

magento知道如何处理扩展版本的更改,并且可以根据版本号更改调用更新脚本。这是处理这类事情的首选方法。

如果你需要将随机的非php类文件添加到你的扩展中,那么将它们添加到你的扩展文件夹中,并从那里询问它们:

代码语言:javascript
复制
Mage::getModuleDir('etc', 'Your_Extension');
Mage::getModuleDir('whateverfolder', 'Your_Extension');

不过,这并不是一个好的实践,因为这可能会破坏magento编译功能或引入其他问题,因此最好还是通过扩展结构中的php类或xml文件来处理外部数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8708718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档