Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建在magento中运行安装脚本的按钮?_Php_Magento_Installscript - Fatal编程技术网

Php 如何创建在magento中运行安装脚本的按钮?

Php 如何创建在magento中运行安装脚本的按钮?,php,magento,installscript,Php,Magento,Installscript,我已经创建了一个安装脚本 但我的要求是,这个脚本只有在手动调用时才能运行。我已经在管理后端创建了一个按钮。当我单击该按钮时,脚本必须运行。我在谷歌上搜索过。但我找不到任何答案 我不知道有没有可能这样做。如何防止在首次加载该模块时执行脚本。创建您自己的模块,并通过单击按钮上的控制器调用自定义脚本。[管理方式] 或者 用脚本创建一个PHP Shell脚本文件,并在单击按钮时通过PHP*.PHPterminal命令调用 甜蜜而简单 更新 了解如何在Magento中创建PHP Shell脚本,链接: 在

我已经创建了一个安装脚本

但我的要求是,这个脚本只有在手动调用时才能运行。我已经在管理后端创建了一个按钮。当我单击该按钮时,脚本必须运行。我在谷歌上搜索过。但我找不到任何答案


我不知道有没有可能这样做。如何防止在首次加载该模块时执行脚本。

创建您自己的模块,并通过单击按钮上的控制器调用自定义脚本。[管理方式]

或者

用脚本创建一个PHP Shell脚本文件,并在单击按钮时通过
PHP*.PHP
terminal命令调用

甜蜜而简单

更新 了解如何在Magento中创建PHP Shell脚本,链接:

在文件中使用类似以下内容:

<?php

// YOUR CODE

$output = shell_exec('php myCustomPHPInstallScript.php');
// myCustomPHPInstallScript.php is name of your PHP file.
Mage::log($output, null, 'myCustomLogFile.log'); 
//creating log file

//YOUR CODE

?>


Magento安装脚本(例如命名空间/module/sql/module\u安装程序中的脚本)在首次加载模块时自动运行。你不能有条件地运行它。不过,您可以将安装代码移动到模型中,并从按钮加载的管理控制器中运行。如何将安装脚本移动到模型中。我不知道如何在model/Resource/setup.php下创建一个安装模型,并将代码放在那里。但是基类应该是什么?如何从自定义模块调用?正常情况下,脚本会自动运行,对吗?不,伙计,如果scipt被放置为cron作业,那么它们会自动被触发。查看以了解有关从PHP代码发出命令的更多信息…这没关系。但是如何在加载模块时停止脚本?它不应该在core_resource tableNo中创建任何条目,当模块运行时脚本不会加载,事实上,您不需要运行模块,运行Magnetor安装的任何部分就足够了。它不会在magento db中创建任何内容,除非您显式地这样做。如果版本数据是标准magento模块的一部分,则版本数据将存储在核心资源表中。这是通过模块配置文件中的版本号完成的,并因此在模块的SQL文件夹中搜索相应的db脚本文件。你需要掌握好你的magento基础知识。我想你没有理解我的问题。如果有带有安装脚本的模块,如果我运行magento,模块中的安装脚本将自动运行并创建表。我不要这个。但我只想在管理员单击按钮时运行此安装脚本。这是管理员必须运行的安装脚本