我正在开发一个扩展,可以通过将扩展文件夹复制到 Magento 文件夹来安装它。此扩展包括 Magento 媒体文件夹中的一个文件夹,该文件夹应可由 Magento 写入。由于可以使用与运行 Magento 的权限不同的权限来复制文件夹,因此我正在寻找在安装脚本中创建此文件夹的方法。
在脚本中运行此代码以进行 sql 或实体设置对我来说似乎是一种不好的做法。Magento 有什么方法可以在适当的设置脚本中执行此类任务,还是应该让我的完美主义者闭嘴,只需将代码放入 sql 设置脚本中?
我正在开发一个扩展,可以通过将扩展文件夹复制到 Magento 文件夹来安装它。此扩展包括 Magento 媒体文件夹中的一个文件夹,该文件夹应可由 Magento 写入。由于可以使用与运行 Magento 的权限不同的权限来复制文件夹,因此我正在寻找在安装脚本中创建此文件夹的方法。
在脚本中运行此代码以进行 sql 或实体设置对我来说似乎是一种不好的做法。Magento 有什么方法可以在适当的设置脚本中执行此类任务,还是应该让我的完美主义者闭嘴,只需将代码放入 sql 设置脚本中?
如果您想在 magento 中为自定义扩展创建一个文件夹,请使用此代码。
$customDir = Mage::getBaseDir('media').DS.'foldername';
$ioFile = new Varien_Io_File();
$ioFile->checkAndCreateFolder($customDir);
您可以使用 Varien_Io_File::checkAndCreateFolder() 来检查和创建目录,而不是在安装脚本中,而是在文件夹的实际使用位置。
我认为在安装脚本中创建这些文件夹不是 Magento 风格的。将它们与您的扩展一起打包并让用户将它们放在正确的位置更合乎逻辑。恕我直言。
为确保权限,您可以在代码中对其进行测试,如果不正确则生成错误消息,并确保在手册中向用户提及。