问题列表 - 第28805页

在Magento中以编程方式确定是否在产品页面上

我想在Magento网站的所有页面上插入跟踪代码,如果页面是CMS页面,类别浏览页面或产品视图页面,则需要使用不同的语法.我有一个自定义模块设置了一个块,现在在每个页面上插入一个通用的跟踪代码.在块内,如何区分CMS页面,类别页面和产品页面?

我开始时:

Mage::app()->getRequest();
Run Code Online (Sandbox Code Playgroud)

我知道

Mage::app()->getRequest()->getParam('id');
Run Code Online (Sandbox Code Playgroud)

返回产品和类别页面上的产品或类别ID,但不区分这些页面类型.

Mage::app()->getRequest()->getRouteName();
Run Code Online (Sandbox Code Playgroud)

返回CMS页面的"cms",但返回类别浏览页面和产品视图页面的"目录",因此我无法使用它来区分类别和产品页面.

在我可以安全使用的请求中是否有一些指示器?或者是否有更好的方法来实现不同页面类型的不同跟踪代码的目标?

php magento

15
推荐指数
3
解决办法
4万
查看次数

如何在Linux tclsh中通过光标键获取命令历史记录

可以使用TCL shell(tclsh)中的光标键(如向上箭头键)获取命令历史记录.

我正在使用linux版本2.6.21在fedora上运行tclsh.

linux shell scripting tcl expect

17
推荐指数
1
解决办法
5717
查看次数

我应该使用for循环结构还是forEach方法进行迭代?

一种方式更有效吗?一种方法与另一种方法有任何限制吗?感谢你们给我的任何意见;-)

javascript

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

找不到包;Java语言

真烦人

我有这样的目录结构

-lib
   --some jar files

-packageName
   --Main.java
   --SomeOtherPackage
      --SomeOtherJavaClass.java
Run Code Online (Sandbox Code Playgroud)

Main.java导入SomeOtherPackage。并且两个java文件都在lib中使用jar。

我要做的是将jar文件独立添加到CLASSPATH中。然后以:javac packageName / Main.java运行

但是它给出了找不到Package的错误SomeOtherPackage。它不应该自动实现依赖关系并进行构建SomeOtherPackage吗?在上述情况下,javac命令和类路径是什么?

谢谢

java javac

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

如何运行tcsh shell命令并有选择地忽略状态?

我有一个tcsh shell脚本,我想在大多数时间以非零状态的错误停止,但在某些情况下我想忽略它.例如:

#!/bin/tcsh -vxef

cp file/that/might/not/exist . #Want to ignore this status
cp file/that/might/not/exist . ; echo "this doesn't work"
cp file/that/must/exist . #Want to stop if this status is nonzero
Run Code Online (Sandbox Code Playgroud)

unix shell csh tcsh

5
推荐指数
1
解决办法
6703
查看次数

在Mercurial(hg)中,如果发出"hg push",你如何看到将被推送的文件列表?

我们可以看到所有变更集和所涉及的文件

hg outgoing -v
Run Code Online (Sandbox Code Playgroud)

但文件名都分散在变更集列表中.

有没有办法只看到发出的所有文件的列表hg push

mercurial dvcs push

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

内嵌表单字段,标签位于顶部

我不敢相信我不得不问这个问题,但是我的智慧结束了.

我正在尝试内联显示2个表单字段,但顶部的每个字段都有标签.在ascii艺术:

Label 1      Label 2
---------    ---------
|       |    |       |
---------    ---------
Run Code Online (Sandbox Code Playgroud)

应该很简单.

<label for=foo>Label 1</label>
<input type=text name=foo id=foo />

<label for=bar>Label 2</label>
<input type=text name=bar id=bar />
Run Code Online (Sandbox Code Playgroud)

这会让我:

        ---------           ---------
Label 1 |       |   Label 2 |       |
        ---------           ---------
Run Code Online (Sandbox Code Playgroud)

要在框顶部获取标签,我添加display = block:

<label for=foo style="display:block">Label 1</label>
<input type=text name=foo id=foo />

<label for=bar  style="display:block">Label 2</label>
<input type=text name=bar id=bar />
Run Code Online (Sandbox Code Playgroud)

执行此操作后,标签就是我想要的位置,但表单字段不再是内联的:

Label 1  
---------
|       |
---------

Label 2  
---------
|       |
---------
Run Code Online (Sandbox Code Playgroud)

我一直无法找到一种方法来包装我的HTML,因此字段显示为内联.有人可以帮忙吗?

html css forms

10
推荐指数
2
解决办法
4万
查看次数

使用Code Igniter控制器和视图创建foreach循环

这是我几次发现自己的情况,我只想一劳永逸地清理它.

最好只是为了向您展示我在一些示例代码中需要做的事情.

我的控制器

function my_controller()
{

$id = $this->uri->segment(3);

$this->db->from('cue_sheets');
$this->db->where('id', $id);
$data['get_cue_sheets'] = $this->db->get();

$this->db->from('clips');
$this->db->where('sheet_id', ' CUE SHEET ID GOES IN HERE ??? ');
$data['get_clips'] = $this->db->get();

$this->load->view('show_sheets_and_clips', $data);

}
Run Code Online (Sandbox Code Playgroud)

我的看法

<?php if($get_cue_sheets->result_array()) { ?>
    <?php foreach($get_cue_sheets->result_array() as $sheetRow): ?>
        <h1><?php echo $sheetRow['sheet_name']; ?></h1>
        <br/>
        <?php if($get_clips->result_array()) { ?>
            <ul>
                <?php foreach($get_clips->result_array() as $clipRow): ?>
                    <li><?php echo $clipRow['clip_name']; ?></li>
                <?php endforeach; ?>
            </ul>
        <?php } else { echo 'No Clips Found'; } ?>
    <?php endforeach; ?>
<?php } …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller foreach controller codeigniter

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

在这个例子中,使用C++赋值运算符而不是复制构造函数?

作为尝试升级我的C++技能的持续过程的一部分,我试图打破一些旧的习惯.我的老学校C程序员倾向于写这个;

void func( Widget &ref )
{
    Widget w;  // default constructor
    int i;
    for( i=0; i<10; i++ )
    {
        w = ref;  // assignment operator 
        // do stuff that modifies w
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用.但我认为以下内容更接近最佳实践;

void func( Widget &ref )
{
    for( int i=0; i<10; i++ )
    {
        Widget w = ref; // ??
        // do stuff that modifies w
    }
}
Run Code Online (Sandbox Code Playgroud)

至少使用我的Widget类,这很好用.但我不完全明白为什么.我有两个理论;

1)复制构造函数运行10次.
2)复制构造函数运行一次,然后赋值运算符运行9次.

这些都让我有点麻烦.2)特别是看似人为和错误.我错过了第三种可能性吗?

c++

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

不匹配operator =使用std :: vector

我有一个这样的类声明:

class Level
{
    private:
        std::vector<mapObject::MapObject> features;
    (...)
};
Run Code Online (Sandbox Code Playgroud)

在其中一个成员函数中,我尝试迭代遍历该向量,如下所示:

vector<mapObject::MapObject::iterator it;
for(it=features.begin(); it<features.end(); it++)
{
    /* loop code */
}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很简单,但是g ++给了我这个错误:

src/Level.cpp:402: error: no match for ‘operator=’ in ‘it = ((const yarl::level::Level*)this)->yarl::level::Level::features.std::vector<_Tp, _Alloc>::begin [with _Tp = yarl::mapObject::MapObject, _Alloc = std::allocator<yarl::mapObject::MapObject>]()’
/usr/include/c++/4.4/bits/stl_iterator.h:669:注意:候选人是:__gnu_cxx::__normal_iterator<yarl::mapObject::MapObject*,std :: vector >>&__gnu_cxx::__normal_iterator<yarl::mapObject::MapObject*,std :: vector>>::operator=(const __gnu_cxx::__normal_iterator<yarl::mapObject::MapObject*, ``std::vector<yarl::mapObject::MapObject, std::allocator<yarl::mapObject::MapObject> > >&)

任何人都知道为什么会这样吗?

c++ stl const vector

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