hi you have call wrong block
as write code in Mage_Catalog_Product_View
You can call block type core/template
that means you call class Mage_Core_Block_Template
.
and this class
is not included
function checkAttributeSet()
;
You need block type catalog/product_view
and this block type work when you in Product page
So,Please change:
{{block type="catalog/product_view" template="page/productfeatures.phtml"}}
Above guess that the above code is not need because just add below code at view.phtml
if($this->checkAttributeSet($this->getProduct(), 'soft_sole_shoe_size')):
echo $this->getLayout()->createBlock('cms/block')->setBlockId('features_soft')->toHtml();
elseif($this->checkAttributeSet($this->getProduct()$_product, 'toddler_rubber_sole_shoe_size')):
echo $this->getLayout()->createBlock('cms/block')->setBlockId('features_toddler')->toHtml();
endif;
user1618341,According magento an order can place
from one store
,Magento is save order store id at sales_flat_order,sales_flat_grid order
.
At your collection you need get store_id.Also need rectify collection query,Please use * instead of some field
<?php
try {
$orders = Mage::getModel('sales/order')->getCollection()
->addFieldToFilter(
'status',
array(
'nin' => array('complete', 'canceled', 'processing', 'holded', 'fraud'),
'in' => 'pending',
))
->addAttributeToSelect('store_id')
->addAttributeToSelect('status');
}
catch (Mage_Core_Exception $e) {
}
I have put the condition to skip create shipment for one store view[if($eachorder->getData('store_id')!=='YOUSKIPSTOREID'):]
see code:
try {
foreach ($orders as $eachorder) {
$order = Mage::getModel("sales/order")->load($eachorder->getId());
if (!$order->canInvoice()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.'));
}
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
/* put code for skip for one store */
if($eachorder->getData('store_id')!=='YOUSKIPSTOREID'):
$shipment = $order->prepareShipment();
if ($shipment) {
$shipment->register();
$order->setIsInProcess(true);
$transaction_save = Mage::getModel('core/resource_transaction')
->addObject($shipment)
->addObject($shipment->getOrder())
->save();
} else {
throw new Exception("Cant get shipment");
}
endif;
$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE);
$order->save();
}
}catch (Mage_Core_Exception $e) {
}
If you getting the issues for create invoice and shipment,Please see my Blog:
Create invoice:
Create Shipment
:
Best Answer
Try using attribute option id rather than option label value.
Example:
Since you mentioned that
sidebar
is a drop down attribute I'm assumingNo => 0 and Yes => 1