Php magento将变量从前端传递到config.xml
我已经创建了一个自定义模块和一个自定义cron作业。这是我的密码:Php magento将变量从前端传递到config.xml,php,magento,cron,crontab,cronexpression,Php,Magento,Cron,Crontab,Cronexpression,我已经创建了一个自定义模块和一个自定义cron作业。这是我的密码: <crontab> <jobs> <customer_cron_job> <schedule> <cron_expr>*/1 * * * *</cron_expr><!-- will be configurable from custom admin frontend--&
<crontab>
<jobs>
<customer_cron_job>
<schedule>
<cron_expr>*/1 * * * *</cron_expr><!-- will be configurable from custom admin frontend-->
</schedule>
<run>
<model>globalconnector/observer::cronUpdates</model>
</run>
</customer_cron_job>
</jobs>
</crontab>
*/1 * * * *
globalconnector/observer::cronUpdates
现在这个模块有一个自定义的管理前端。在这里,我想向用户提供指定cron作业运行时间(cron_expr)的功能。i、 e.“cron_expr”将动态设置。非常感谢您的帮助。
<crontab>
<jobs>
<company_export_send_order>
<schedule>
<!-- Use the config path in your system.xml here -->
<config_path>globalconnector/general/cron_settings</config_path>
</schedule>
<run>
<model>globalconnector/observer::cronUpdates</model>
</run>
</company_export_send_order>
</jobs>
</crontab>
globalconnector/general/cron_设置
globalconnector/observer::cronUpdates
在模块的system.xml中,只需定义一个文本字段,在其中输入cron表达式
这里有更多细节:我知道了……以下是我所做的
<schedule>
<cron_expr>*/1 * * * *</cron_expr><!-- will be configurable from custom admin frontend-->
</schedule>
function setCron($cronData){
$gcSwitch = new Mage_Core_Model_Config();
$cronExprString = '';
foreach ($cronData as $key => $value) {
$cronExprString = $cronExprString.' '.$value;
}
$cronExprString = ltrim($cronExprString);
$gcSwitch ->saveConfig('crontab/jobs/customer_cron_job/schedule/cron_expr', $cronExprString, 'default', 0);
}
它的作用是更新数据库中的“core\u config\u data”表。更多的证据可以看这张表。此表包含以下列:
config_id(PK),scope,scope_id,path,value
我想现在可以理解上面的setConfig()方法操作了。表中已经包含了一个“crontab/jobs/customer\u cron\u job/schedule/cron\u expr”条目。如果没有,则config.xml中会出现一些问题。但您所说的不会在现有的默认系统配置页面中添加文本字段吗??我有一个自定义module.phtml文件,其中包含一个表单。在表单中,我有一个文本字段,它将从用户处获取cron_expr的值,然后我希望在我的config.xml中设置这个cron_expr。有没有办法做到这一点?
config_id(PK),scope,scope_id,path,value