我正在开发一个脚本(Magento外部,而不是模块),旨在输出所有可用产品的文本列表,价格和其他一些属性.但是,目录价格规则似乎不适用于产品价格.如果我使用以下任何一项:
$_product->getPrice()
$_product->getFinalPrice()
Run Code Online (Sandbox Code Playgroud)
我得到正常价格(没有适用规则).
如果我使用:
$_product->getSpecialPrice()
Run Code Online (Sandbox Code Playgroud)
除非产品实际上在产品本身中插入了特殊价格(即特殊价格与目录规则无关),否则我将为空.
我也试过了
Mage::getModel('catalogrule/rule')->calcProductPriceRule($product,$product->getPrice())
Run Code Online (Sandbox Code Playgroud)
正如Fabian Blechschmidt给出的答案中所建议的那样,但有趣的是,只有当产品受到任何目录规则的影响时,它才会返回正常价格,否则返回null.
在StackOverflow和Magento论坛中有一个类似的问题,但是提供的答案(即插入下面的代码)对我来说不起作用(返回的价格保持不变).
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND,Mage_Core_Model_App_Area::PART_EVENTS);
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何实现这一目标?
我正在使用Magento 1.6.2.0.提前致谢.
使用GDB我似乎无法在OpenMP线程中打印共享变量的值.例如,使用以下程序:
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int priv, tid, pub = 100;
#pragma omp parallel private(priv, tid) num_threads(2)
{
tid = omp_get_thread_num();
priv = tid * 10;
#pragma omp sections
{
#pragma omp section
{
printf("SECTION 0: tid=%d, priv=%d, pub=%d\n", tid, priv, pub);
}
#pragma omp section
{
printf("SECTION 1: tid=%d, priv=%d, pub=%d\n", tid, priv, pub);
}
}
}
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
在GDB中,如果我在第15行(第0部分的printf)中断,并且我尝试打印"pub"的值,我在当前上下文中得到"No symbol"pub.»消息:
Breakpoint 1, main._omp_fn.0 () at omp_simplesec.c:15
15 printf("SECTION 0: …Run Code Online (Sandbox Code Playgroud) 在C中,可以在一个东西一个-1的值(例如为0xFFFFFFFF)到一个指针,采用的方法如这一个,并期望这样的存储器地址从不在运行时分配?
这个想法是指针值用作内存地址,除非它具有这个"特殊"-1值.指针应该被认为是内存地址,即使它是NULL(在这种情况下,它指向的对象尚未构建).
我知道这可能与平台有关,但有问题的程序预计会在Linux,Windows和MacOSX中运行.
手头的问题比这里描述的要大得多,因此质疑这种方法的评论或答案都没有用.我知道它有点hacky,但替代方案是一个主要的重构:/
提前致谢.