在session_quote中设置订单对象 -- magento-1.7 领域 和 orders 领域 和 session 领域 magento 相关 的问题

Setting order object in session_quote


简体版||繁體版
1
vote

问题

中文

我正在尝试将 $order 对象设置为 session_quote 。但是,当设置它后,当我收到 htmlspecialchars9 对象时,数据和其他信息是null且对象仍然存在。如何正确将订单对象设置为 998876610 ,以便数据仍然在Order对象中?

示例:

  <p>1  

从会话获取订单:

  <p>2  

结果在订单对象中,没有数据或付款信息。

  <p>3  
英文原文

I'm trying to set an $order object to the session_quote. However, when I get the $order object after setting it, the data and other information are null yet the object remains. How can I set the order object to the session_quote correctly so that the data is still within the order object?

Example:

$order= Mage::getModel('sales/order')->load($orderId); Mage::getSingleton('adminhtml/session_quote')->setOrder($order); 

Getting order from session:

$session = Mage::getSingleton('adminhtml/session_quote'); $sessionOrder = $session->getOrder(); 

Results in order object with no data or payment information.

$orderId = $sessionOrder->getId(); /* is null */ $orderData = $sessionOrder->getData(); /* is null */ 
        

回答列表

2
 
vote
vote
最佳答案
 

Mage_Adminhtml_Model_Session_Quote - &gt; getOrder()不是一个魔法方法,但类中存在真实方法:

  /**  * Retrieve order model object  *  * @return Mage_Sales_Model_Order  */ public function getOrder() {     if (is_null($this->_order)) {         $this->_order = Mage::getModel('sales/order');         if ($this->getOrderId()) {             $this->_order->load($this->getOrderId());         }     }     return $this->_order; }   

从上面的逻辑,是显而易见的为什么要获得空的订单对象。

您需要做的只是将OrderId存储到会话对象中。 当您调用getOrder()时,它将在结果中正确填充订单。查看getOrder()方法中的代码。

因此使用:

  Mage::getSingleton('adminhtml/session_quote')->setOrderId($orderId);   

当事情不按预期工作时,请查看您正在使用的课程。

并非所有方法都是Magento中的魔法方法,有时,一种方法可以是一份魔法方法,而不是另一个方法。 (其中一个功能之一,可以使magento代码混淆,强大延长)

 

in Mage_Adminhtml_Model_Session_Quote ->getOrder() is not a magic method, but a real method exists in the class:

/**  * Retrieve order model object  *  * @return Mage_Sales_Model_Order  */ public function getOrder() {     if (is_null($this->_order)) {         $this->_order = Mage::getModel('sales/order');         if ($this->getOrderId()) {             $this->_order->load($this->getOrderId());         }     }     return $this->_order; } 

From the logic above, is is apparent why you are getting a null'd order Object.

What you need to do is simply store the OrderId into the session object. When you call for getOrder(), it will then populate the order correctly in the result. See code in getOrder() method.

Thus use:

Mage::getSingleton('adminhtml/session_quote')->setOrderId($orderId); 

When things don't work as expected, go have a look at the class that you are using.

Not all methods are magic methods in magento, sometimes a method can be a magic method in once class, and not in another. (one of the features that can make magento code both confusing, and powerful to extend)

 
 
 
 
-1
 
vote

尝试

  $sessionOrder = $session->getData('order');   

编辑: 这将是起作用的,但在这方面的编码中,如评论中的说明。它还将使得难以保持的代码,因为它将难以追踪所设置的顺序和位置。

 

Try

$sessionOrder = $session->getData('order'); 

EDIT: That would work, but it's bad coding in this context as explained in the comment. It will also make the code difficult to maintain as it'll be difficult to trace how and where the order is set.

 
 
         
         

相关问题

6  Magento 2 +客户在结账过程中自动注销  ( Magento 2 customer logged out automatically in checkout process ) 
我在其中一个网站上有一个奇怪的问题。当我登录或注册为新客户并在购物车中添加一些物品。然后转到结账页面,它在某些随机案例中自动记录客户。 有时它刚刚在签出页面时注销用户。有时,当我转到付款选择页面时,它会记录用户。这是随机行为。同样在某些情况下,我能够在成功页面登录但在成功页面上下订单,它会自动记录客户。 ...

24  遍布多个实例的Magento站点的正确Cookie配置是什么,作为子域名?  ( Whats the correct cookie config for a magento site split across multiple instan ) 
问题 一个大站点使用Magento的单独实例用于不同的地理区域,因此商务是孤立的。示例: site.com north.site.com south.site.com reast.site.com west.site.com 用户可以访问根+区域站点,直接在区域网站上登录,或使用其区域凭据登录...

45  我应该如何处理变得过多的会话文件?  ( How should i handle session files that become too numerous ) 
我作为一个sysadmin,它是一个持有magento网站的几个服务器,偶尔会填写会话文件。 我已被告知管理这些文件不是可以从Magento内完成的东西,我认为他们的临时用途意味着他们不能刚刚关闭,但玛格托没有办法似乎很奇怪删除这些文件? 我的解决方案是一个夜间CRONTAB,它执行这个 find /path/to/...

0  无法使用Vagrant Box登录Magento管理员  ( Cant login to magento admin using vagrant box ) 
我尝试使用vagrant和 vaprobash 脚本在几个基于PHP的应用程序之前使用它,但由于某种原因我无法登录管理区域。 我正在使用这个 vagrantfile 和我的叉子的叉子它只会改变nginx repo来使用1.7版本,所以我最终有: nginx 1.7 PHP 5.5 mysql 5.6 ...

0  我试图在phtml中获取当前的报价详细信息  ( I am trying to get current quote details in an phtml ) 
class Productinfo extends MagentoFrameworkViewElementTemplate { protected $checkoutSession; public function __construc...

1  通过基于令牌的身份验证登录客户的客户会话  ( Customer session for logged in customer by token based authentication ) 
我们正在使用基于令牌的身份验证,从该资源中使用REST API / rest / v1 /集成/客户/令牌?username = user_name&amp; password = p @ $ word 要使用Magento REST API Web服务。 我们可以成功地形成令牌并返回客户详细信息,形成该资...

7  即使禁用,持久性购物车也可以工作  ( Persistent shopping cart works even if disabled ) 
在后端,我已将"启用持久性" 设置为"否" 。尽管如此,如果我使用一个浏览器将内容添加到购物车,我可以在页面重新加载后在第二浏览器中看到。如果禁用持久推车,这项工作如何? ...

3  会话值未在Logged Users Magento 2.3中正确设置  ( Session value not set properly in logged users magento 2 3 ) 
在我的手机号更新模块中,记录的用户 userid 和 mobileNumber 设置为.phtml隐藏字段,但有时它不正常工作!请检查我的代码 app / code / {vendor} / {module} /block/account/dashboard/updatemobile.php <?php ...

8  正确的方法来获取会话对象?  ( Correct way to obtain a session object ) 
我现在正在为magento 2写一块付款模块,我正在检查它的"magento扩展质量计划编码标准" 编号( https://github.com/magento/marketplace-eqp )。 对于使用(checkout)会话对象的每个类,CodeSniffer响应以下警告: Session object ...

4  使用Magento核心/会话模型  ( Using magento core session model ) 
我有一个观察者,附加到'front_init_before'action: <controller_front_init_before> <observers> <custom_front_init_before> <type>singleton</type> ...

0  magento 2在模型中传递更多的论点  ( Magento 2 passing more argument in model ) 
如何添加更多参数 magento backend model auth session $ authsession 进入 magento store model 网站? 我试图获取像以下链接一样的当前用户: magento 2:如何获取当前管理员用户详细信息?< / a> ,它给了我错误日志: 可恢复...

0  用户信息在Magento中使用cookie / session [已关闭]  ( User information using cookies session in magento ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并通过编辑此帖的问题。 关闭 7年前。 ...

0  Magento在Foreach Select选项中获取会话值  ( Magento get session value in foreach select option ) 
如何在 foreach循环 select选项中获取所选会话 <?php $tree = $this->helper('techinflo_shop')->getCategoriesDropdown(); ?> <?php $categoryvalue = Mag...

2  Magento 2:不可能在外部脚本中返回会话的客户ID  ( Magento 2 impossible to retreive the customer id of the session in an external ) 
我在root中创建了一个外部脚本 test.php 内部magento 2。但是,我不会成功地检索在此外部脚本中会话的客户ID。 脚本如下: <?php require_once 'app/bootstrap.php'; $params = array( Mage::PARAM_RUN_CODE => ...

3  我的Magento商店警告和错误消息用于错误页面  ( My magento store warnings and error messages for users are displaying on wrong p ) 
我有一个魔法商店,工作完全正常。但唯一的问题是错误消息未显示要显示的位置。 例如,屏幕截图上显示的消息应该显示在OneStepcheckout上。但它相反,它显示在主页上。 我关注的主要消息是增值税ID错误消息: 在核心上,我发现了一个我想要放置在右页的消息的公共功能。目前,在错误的页面上显示"输入的增值符ID(%...

1  可以/我应该在前端使用管理员会话  ( Can should i use the admin session in frontend ) 
对于某些用例,很高兴知道,当前端时,如果管理员登录并获取用户的ACL。 我知道这不是"轻松" 可能的,即 99887664 和 admin admin 会话在抽象级别上分开。 我认为应该可以更深入地挖一些级别并仍然访问会话。 另外我看到了从后端到前端的一些令牌的工作 - 但基本上我不是在谈论这样的。 有没有明显的...

15  从后端前端的instogin  ( Autologin on frontend from the backend ) 
请参阅以下情景。 我有一些自定义模块,允许前端用户对某些自定义实体执行一些操作。 (细节并不重要)。 该请求是管理员应该能够使用客户帐户(不具有密码)的前端登录并能够为客户执行这些操作。 由于您不能从后端使用前端会话,而且我不想创建永久性的Autologin链接,因为它可能是一个大安全漏洞,这就是我到目前为止所做的。...

0  重定向后会话更改  ( Session is changed after redirect ) 
我基本上试图实施以下事情。我的应用程序中有2个零件 - 一个是Magento进行计费,另一个是CMS,它使用Magento作为Bing Gateway CMS具有隐藏形式的页面,其中一些编码数据将发送给Magento的POST请求。 这样的东西: <form id="order-form" method="p...

1  更新编程创建的产品  ( Update programtically created product ) 
我们在产品视图页面中有2个按钮,我们单击第1张按钮后,我们在编写程序上创建产品。 一旦点击2nd按钮[输入电子邮件后,密码]我们正在将该产品分配给该客户。 此处的问题是在属性中保存"客户ID" 值[属性ID:custom_uid]不起作用。 在单击第1按钮后创建产品,有没有办法更新同一产品在单击2nd按钮 pro...

11  从外部站点访问Magento会话  ( Access magento session from external site ) 
如何在登录 Magento 到其他应用程序后绕过现有客户/用户或绕过他的会话? ...

1  突然洋洋洋洋突然停止了工作  ( Suddenly magento sessions stopped working ) 
突然,我们的现场网站上的会话停止了工作。不知道为什么会发生这种情况。 我们的网站托管在 main.js:12 Service Worker Error TypeError: Failed to register a ServiceWorker for scope ('https://mywebsite') with ...

0  Magento 1.9 - 未注明用户的篮子未添加产品  ( Magento 1 9 product not being added to basket for logged out users ) 
就像大多数玛美多相关问题一样,撞击墙壁往往是有必要找到解决方案。然而,这一次,没有。 我对登录并尝试将物品添加到空购物车的客户有一个奇怪的问题。它不会适用于某些特定的产品类型。 我已经扩展了购物车控制器以增加对用户输入的值的支持,而不是标准的Magento下拉方法。这意味着用户可能会输入尚未存在的数字,尚未存在于可配...

9  通过Magento的REST API有客户会话支持吗?  ( Is there customer session support via magentos rest api ) 
我正在努力向Magento的REST API扩展愿望单功能。访问客户的会话会很高兴。 Magento是否有任何支持通过休息访问客户的会话? ...

3  IE和EDGE上的用户必须在Magento 2商店登录两次  ( Users on ie and edge have to log in twice on magento 2 store ) 
我是关于修复 js控制台错误和浏览器测试的Magento站点,该网站(我认为原始开发人员戒烟)。我完成了这一点,但现在我正在遇到一个奇怪的问题。 在边缘, IE11 ,和 chrome隐姓埋名(不是正常chrome)这是会发生什么: 用户点击登录链接并进入登录页面 用户填写信息并提交表单。 页面重定向(302)回到...

1  Magento 2.3.3 - 清漆会话问题  ( Magento 2 3 3 varnish session issue ) 
我有一个戒律缓存和调查和搜索解决方案的错误,我仍然无法解决问题。 FPC大部分时间都在很好地工作,但有时这个问题发生了。我们有一些隐藏的目录数据(例如,价格)如果客户未登录,那么我们强制访客注册帐户以查看所有可用数据。但是,有时登录后(特别是如果在打开一些目录页面后登录),客户将无法在他的同一页面上查看所有可用数据...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有