问题列表 - 第46001页

Magento - 检查管理员和客户是否已登录

我有一个安装了Magento 1.4.0.1的Web服务器.我有另一个网站与它共享凭证.我已经设法检查客户是否已登录(在更改了Magento中的cookie位置之后),但是当我还试图弄清楚管理员是否已登录时,事情变得复杂.我只能得到正确的答案对于我要求的第一个会话(客户或管理员,第二个是永远不会登录).

我怎么能得到这两个答案?

这是我用来测试的代码:


require_once '../app/Mage.php';
umask(0) ;

Mage::app();

// Checking for customer session
Mage::getSingleton('core/session', array('name'=>'frontend') );
$session=Mage::getSingleton('customer/session', array('name'=>'frontend') );

if ($session->isLoggedIn()) {
    echo "Customer is logged in";
} else {
    echo "Customer is not logged in";
}

// Checking for admin session
Mage::getSingleton('core/session', array('name'=>'adminhtml') ); 
$adminsession = Mage::getSingleton('admin/session', array('name'=>'adminhtml'));

if($adminsession->isLoggedIn()) {
    echo "Admin Logged in";
} else {
    echo "Admin NOT logged in";
}
Run Code Online (Sandbox Code Playgroud)

因此,使用这样的代码,管理员永远不会登录.如果您首先将部分放在管理员身上,那么客户永远不会登录.看起来我在两个请求之间缺少一条线.

这可能与这个未解决的问题相同:Magento如何检查管理员是否在模块控制器中登录

这似乎是一个受欢迎的问题,但我找不到合适的解决方案......

谢谢你的帮助!

php session magento

7
推荐指数
1
解决办法
1万
查看次数

如何确定哪些域名注册商(例如,GoDaddy,Register.com)支持哪些顶级域名(TLD)?

如果有人想要.LY顶级域名(顶级域名)或.IO顶级域名,我如何确定哪个域名注册商(例如GoDaddy,Register.com)支持购买此顶级域名?

dns tld

26
推荐指数
1
解决办法
1万
查看次数

如何协调将头/源与模板分离的C++习惯用法?

我想知道这个模板业务.

在C和C++中,将声明放在源文件中的头文件和定义中是很常见的,并将两者完全分开.然而,在模板方面,这似乎不可能(以任何好的方式),而且众所周知,模板是一个很好的工具.

此外,Boost主要是标题,所以这是一个真正的问题.在C++中分离标题和源代码仍然是一个好主意,还是我不应该非常依赖模板?

c++ templates header

21
推荐指数
2
解决办法
2253
查看次数

在Drupal中如何获取tnid或翻译节点的节点ID?

我需要访问已翻译节点的id,如果可用于任何给定节点.nid是节点ID.似乎tnid将是翻译节点的id.但是,情况似乎并非如此.我怎么能得到那个id?我尝试了以下代码,但没有用.

  global $language;
  $translations = translation_node_get_translations($node->tnid);
  if ($translations[$language->language]) {
  $tnode = node_load($translations[$language->language]->nid);
  echo $tnode->nid;
  }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

我需要tnid来创建自定义翻译链接.谢谢.

php localization drupal

9
推荐指数
1
解决办法
8190
查看次数

为什么C#不允许使用var声明多个变量?

鉴于以下内容:

// not a problem
int i = 2, j = 3;
Run Code Online (Sandbox Code Playgroud)

这让我感到惊讶:

// compiler error: Implicitly-typed local variables cannot have multiple declarators
var i = 2, j = 3;
Run Code Online (Sandbox Code Playgroud)

不编译.也许有一些我不明白的事情(这就是我问这个的原因)?

但为什么编译器不会意识到我的意思:

var i = 2;
var j = 3;
Run Code Online (Sandbox Code Playgroud)

哪个会编译.

c# declaration implicit-typing variable-declaration

46
推荐指数
3
解决办法
1万
查看次数

ssh远程执行命令,如何确定PATH?

我有一个使用ssh远程执行命令的bash脚本.然而,我发现行为的差异非常大,这取决于我是否在后台启动命令:

ssh host cmd1 && cmd2 && cmd3
Run Code Online (Sandbox Code Playgroud)

ssh host "cmd1 && cmd2 && cmd3" &
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,某些命令未正确执行,因为它们没有出现在$ PATH上.看来环境在这两种情况下是不同的(当通过env作为命令我注意到相当大的差异).

怎么解释?

我知道我可以覆盖PATH变量但是有没有办法以优雅的方式做到这一点让第二个例子表现得像第一个带有"&"功能?

ssh bash

0
推荐指数
1
解决办法
1054
查看次数

JavaScript中的匿名函数的removeEventListener

我有一个包含方法的对象.这些方法被放入匿名函数内的对象中.它看起来像这样:

var t = {};
window.document.addEventListener("keydown", function(e) {
    t.scroll = function(x, y) {
        window.scrollBy(x, y);
    };
    t.scrollTo = function(x, y) {
        window.scrollTo(x, y);
    };
});  
Run Code Online (Sandbox Code Playgroud)

(还有更多代码,但这足以显示问题)

现在我想在某些情况下停止事件监听器.因此我试图做一个removeEventListener,但我无法弄清楚如何做到这一点.我在其他问题中已经读过,无法在匿名函数上调用removeEventListener,但在这种情况下是否也是如此?

我在匿名函数中创建了一个方法,因此我认为这是可能的.看起来像这样:

t.disable = function() {
    window.document.removeEventListener("keydown", this, false);
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能这样做?

还有其他(好的)方法吗?

奖金信息; 这只需要在Safari中工作,因此缺少即支持.

javascript safari anonymous-function dom-events

90
推荐指数
7
解决办法
8万
查看次数

简单的进程间通信

我正在寻找一种简单的方法将消息从一个进程(Perl脚本,短命)传递到另一个进程(Python脚本,长时间运行) - 这两个进程都是同一台机器的本地进程.我做了一些研究,但我发现的要么是在我头上还是看起来不必要的复杂 - 让我有点迷茫和迷茫.

我想象一个大致如下的最小例子:

# listener.py

class Listener:
    def __init__(self, port)
        self.port = port

    def on_message(self, msg):
        print "%s: %s" % (timestamp, msg)

recipient = Listener(1234)


# sender.pl

sub send_message {
    my ($msg, $port) = @_;
    # ...
}

send_message("hello world", 1234);
Run Code Online (Sandbox Code Playgroud)

任何有关如何解决和/或在何处阅读的指示将不胜感激!

python perl ipc

19
推荐指数
3
解决办法
2万
查看次数

每当gem不会更新crontab任务时

我一直在Slicehost的2岁以上的切片上使用随时随地的宝石.然而,我不能在我的新片上做同样的事情.

主要区别在于我现在在我的MBP和切片上运行RVM.我也在运行Rails 3.我有Rubygems v 1.5.0和最新版本的RVM,Ruby 1.9.2p136,Capistrano以及其他所有包.

我已经尝试了一百万件事,阅读了所有的文档,截至目前我正在使用随时随地的0.6版本.我还查看了关于SO和Google相关主题的所有问题.

以下是deploy.rb中的代码:

namespace :deploy do
  ...
  desc "Update the crontab file"
  task :update_crontab, :roles => :db do
    run "cd #{release_path} && whenever --update-crontab #{application}"
  end   
end

after 'deploy:update_code', 'deploy:update_crontab'
Run Code Online (Sandbox Code Playgroud)

以下是运行'cap deploy'后出现的错误消息

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2' -c 'cd /home/deploy/public_html/lasource/releases/20110209201551 && /home/deploy/.rvm/gems/ruby-1.9.2-p136/bin/whenever --write-crontab'" on lasource.ohlalaweb.com
Run Code Online (Sandbox Code Playgroud)

欢迎任何建议.

顺便说一下,capistrano的日志在哪里?

由于Simone的建议添加了'捆绑exec',我设法完成了帽部署例程,因为一切顺利.然而,新问题是我的crontab文件仍然没有任务,并且没有使用其4个任务创建我的部分.

capistrano ruby-on-rails rvm ruby-1.9.2 whenever-capistrano

4
推荐指数
1
解决办法
6974
查看次数

当没有为键分配映射值时调用operator []的行为

我有这样的事情:

#include <iostream>
#include <map>

int main() {

    std::map<int, int*> mapaString;
    int* teste = mapaString[0];
    std::cout << teste << std::endl;
    if(!teste)
        mapaString[0] = new int(0);

    std::cout << mapaString[0] << std::endl;
    std::cout << mapaString[1] << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

gcccpluplus.com的文档中,它只是被称为元素的默认构造函数,但是当声明指针而不初始化它时,它的值将是未定义的.

当没有分配给键的映射值并且返回类型是指针时,是否保证在调用下标运算符([])时返回的值将是NULL指针?

c++ pointers g++ map operators

2
推荐指数
1
解决办法
482
查看次数