我做了一些搜索并找到了关于该主题的this thread,但它特定于XML文件,因此答案对XML文件有意义(/ etc /)。
在我的情况下,我实际上存储了一个txt文件,它恰好是我在我的modman脚本中转出的SVN版本号。
我正在使用它的地方是在前端模型(Blocks / System / Html.php)中,它输出模块配置中的版本号。所以我现在使用Blocks / System /目录 - 文件名是Version.txt - 但感觉应该有一个更好的地方放这个。
答案 0 :(得分:3)
由于这个SVN版本号是由外部工具编写的,我希望它不会弄乱代码目录的内容(在实时环境中可能有写入限制),而是让它写入“var”目录。在这种情况下,要在“var”中获取正确的路径,您将使用:
$fullpath = Mage::getBaseDir('var') . DS . $path;
“var”的内容是一次性的,可以随时删除,以备丢失文件。
答案 1 :(得分:2)
版本号可以添加到app/code/local/Your/Extension/etc/config.xml
<config>
<modules>
<Your_Extension>
<version>0.0.0.0</version>
</Your_Extension>
</modules>
</config>
magento知道如何处理扩展版本更改,并可以根据版本号更改调用更新脚本。这是这种东西的首选方法。
如果您需要将随机非PHP类文件添加到您的扩展程序,然后将它们添加到您的扩展文件夹并从那里询问它们:
Mage::getModuleDir('etc', 'Your_Extension');
Mage::getModuleDir('whateverfolder', 'Your_Extension');
这不是一个好习惯,因为这可能会破坏magento编译功能或引入其他问题,因此最好通过扩展结构中的php类或xml文件处理外部数据
答案 2 :(得分:1)
在开发运输模块时遇到了同样的问题。我有一堆CSV文件,其中包含最大重量/交付成本映射。为了它的价值,我在模块级别创建了一个data/
目录并将所有内容丢入其中。
我不认为在Magento代码库中这种情况不会经常发生,因为有一个既定的约定。只要您使用合理的命名,并提供一定程度的抽象来应对未来文件位置的任何更改,我会说将它放在模块根目录的任何文件夹中。