在php中,我可以检查对象的所有可用方法,如下所示:
$methods = get_class_methods($object);
Run Code Online (Sandbox Code Playgroud)
但是,如何才能看到必须将这些参数发送到这些方法?
这有功能吗?
示例代码:http: //jsbin.com/eqile3/
这是一个带有2个手柄的滑块,1个用于min,1个用于max,在滑动事件中,这些值放在输入字段中.
请注意,当向上和向下滑动最小手柄时,最小值为11(尽管我将其设置为10),但是当从最小位置向上滑动时,它从11变为10然后是11.如果我向下滑动又一次是12到11 ......
很奇怪的错误,不确定原因在哪里?
此外,当min-handle位于从步骤0开始的第一步时,因此值为10,然后我移动max-handle,min-handle的值被正确更新.max-handle有相反的问题.
示例中的相关javascript:
$(document).ready(function(){
$('#clarityslider').slider({step:1,min:10,max:18,range:true,values:[10, 18]});
$('#clarityslider').bind('slide', function(ui, event){
valuemin = $(this).slider('values', 0);
valuemax = $(this).slider('values', 1);
$(this).next().val(valuemax);
$(this).prev().val(valuemin);
});
});
Run Code Online (Sandbox Code Playgroud) 我试图在我的商店添加一些过滤器,但它们有一个讨厌的副作用.
假设我有产品类型A和B.现在我想只显示A颜色=蓝色/红色.
$collection = Mage::getResourceModel('catalog/product_collection')
->setStoreId($this->getStoreId())
->addCategoryFilter($this)
->addAttributeToFilter(array(
array('attribute' => 'color', 'in' => array(4, 6)),
)
);
Run Code Online (Sandbox Code Playgroud)
这样就可以了,但是现在因为产品类型B没有赋值给颜色(因为没有指定这个属性),所以没有这种类型的产品出现.
我在论坛http://www.magentocommerce.com/boards/viewthread/178309上找到了这段代码,但它不起作用:
array('attribute' => 'color', 'is' => new Zend_Db_Expr('null'))
Run Code Online (Sandbox Code Playgroud)
也不是:
array('attribute' => 'color', 'null' => true),
Run Code Online (Sandbox Code Playgroud)
这实际上显示了已分配属性但没有声明值的产品......
我也尝试过添加:
array('attribute' => 'price', 'gteq' => 0),
Run Code Online (Sandbox Code Playgroud)
因为我认为这些陈述与'OR'相关(根据文档),但即便只添加了具有属性的产品类型......
请注意,这些值来自下拉列表,但不确定这是否重要.
我是程序化地创建网站/用户等...
问题在于:创建网站时,我无法立即设置配置值.
码:
<?php
/* Website information */
$website_data = array(
'name' => 'Company name',
'code' => 'website_company_1',
'sort_order' => '1',
);
/* Save website */
$website = Mage::getModel('core/website');
$website->setData($website_data);
$website->save();
/* Get website code */
$web_code = $website->getCode();
/* R-int stores */
Mage::app()->reinitStores();
/* Config data array example */
$data = array('name' => 'Company 1', 'phone' => '056 22 33 61')
/* Set config values in array */
$groups = array();
foreach($data as $key => $value){
$groups['store_information']['fields'][$key]['value'] = $value; …Run Code Online (Sandbox Code Playgroud) 我一直试图从我的magento模块发送一封电子邮件但由于某种原因我无法让模板工作:
模板设置如下:
$emailTemplate = Mage::getModel('core/email_template')->loadDefault('application_status_email');
Run Code Online (Sandbox Code Playgroud)
标题和所有标题都正确发送.
我在app/locale/en_US/template/email中创建了一个名为application_status_email.html的文件,管理面板上的所选语言为英语(美国).思考?
模板本身只包含:
<div>
Message:
{{var message}}
</div>
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我的电子邮件没有任何内容.我有另一个模块发送电子邮件,但从前端工作正常,模板位于同一文件夹...