Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
MAGENTO-MAGENTO文件外部的注册表(+;验证和回调)?_Magento_External_Registration - Fatal编程技术网

MAGENTO-MAGENTO文件外部的注册表(+;验证和回调)?

MAGENTO-MAGENTO文件外部的注册表(+;验证和回调)?,magento,external,registration,Magento,External,Registration,我正在尝试将一个php文件集成到一个应用程序中,使用户可以注册一个帐户。此帐户必须在magento商店中注册 这就是我今天要做的: <?php require_once '../../../app/Mage.php'; umask(0); Mage::app('default'); Mage::app()->getTranslator()->init('frontend'); $session = Mage::getSinglet

我正在尝试将一个php文件集成到一个应用程序中,使用户可以注册一个帐户。此帐户必须在magento商店中注册

这就是我今天要做的:

    <?php
    require_once '../../../app/Mage.php';
    umask(0);
    Mage::app('default');
    Mage::app()->getTranslator()->init('frontend');
    $session = Mage::getSingleton('core/session', array('name' => 'frontend'));

    // get layout object  
    $layout = Mage::getSingleton('core/layout');

    //get block object  
    $block = $layout->createBlock('core/template');
    //print_r(get_class_methods(get_class($block))); <- use for seeing classes
    $block = $block->setTemplate('customer/form/register.phtml')->renderView();
    echo $block;
    ?>

此代码呈现注册表,但在他显示输入字段时停止。我试过使用“mini.login.phtml”,它的渲染结果是正确的。我不太擅长Magento或英语。如有必要,我可以提供任何其他信息

任何帮助都将不胜感激


考虑到动态创建块时使用了错误的块类型。尝试使用以下方法:


createBlock('customer/form_register')

我已经使用过这个块,但它给我带来了一个致命错误。也试图修复此错误,但什么也没有!致命错误:对第36行../app/code/core/Mage/Customer/Block/Form/Register.php中的非对象调用成员函数setTitle()。这是因为块试图加载头块并设置页面标题。您可以首先创建一个类型为page/html\u head的块,并确保它的布局名称为head,从而解决这个问题。或者,您可以覆盖寄存器块,这样它就不会调用_prepareLayout方法,这会导致您的问题。我将尝试第一种方法,看看它是否有效。第二个我已经试过了,弄坏了我的网站注册表(magento的)。我会带着更改信息回来。好吧,令人惊讶的是,第二种方法现在起作用了!我从block中删除了prepare layout函数,它正确地呈现了我的注册表。第一个方法不起作用,它再次抛出致命错误。我创建了一个paget/html_head类型的块,并将它“$head->getCssJsHtml();”回显到中,但不起作用。