I want to ouput a field of my table, but where the fieldname contains a variable from the surrounded foreach.
This seems to give an error..
Any solution?
<? foreach ($languages as $language): ?>
<? foreach ($accomodations as $accomodation): ?>
<?= $accomodation->about_$language->language ?>
<? endforeach ?>
<? endforeach ?>
Ok, I found a solution myself.
<? foreach ($languages as $language): ?>
<? foreach ($accomodations as $accomodation): ?>
<? $field = 'about_'.$language->language ?>
<?= $accomodation->$field?>
<? endforeach ?>
<? endforeach ?>
Related
I just want to display category and subcategory on left side bar, i have a code that work according to my need but this code only display name of the category it didn't get url for a particular category name.
code :-
<?php
$_categories = Mage::getBlockSingleton('catalog/navigation');
foreach ($_categories->getStoreCategories() as $_category) {
$category = Mage::getModel('catalog/category');
$category->load($_category->getId());
$subcategories = explode(',', $category->getChildren());
?>
<?php
foreach ($subcategories as $subcategoryId) {
$category->load($subcategoryId);
echo '<li>' . $category->getName() . '</li>';
}
?>
<?php
}
?>
It only display name for each subcategory but can't linked it with particular url for each sub category properly. suggest me where i did mistake.
Instead of using category object you need to load the subcategory again ex:
<?php
foreach ($subcategories as $subcategoryId) {
//$category->load($subcategoryId); instead
$subcategory = Mage::getModel("catalog/category")->load($subcategoryId);
echo '<li>' . $subcategory->getName() . '</li>';
}
?>
Second and good method as follows :
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
<?php echo $_category->getName() ?>
</a>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
Please note that you may need to tweak some bit of code above.
Hope this helps.
magento,in if statement im using a condition for two option, first one is current category has zero sub category and second one is current category has more than zero subcategory, but this condition is not working with this code
<?php $helper = $this->helper('catalog/category') ?>
<?php $categories = $this->getStoreCategories() ?>
<?php if (count($categories) > 0): ?>
<?php $_filters = $this->getFilters() ?>
<?php foreach ($_filters as $_filter): ?>
<?php if($_filter->getName() == 'Brand' || $_filter->getName() == 'Category' || $_filter->getName() == 'Store' || $_filter->getName() == 'Price' ): ?>
<?php if($_filter->getItemsCount()): ?>
<dt><div style="background-color:#cdcdcd;padding:4px;border-radius:3px;"><?php echo $this->__($_filter->getName()) ?></div></dt>
<dd><div style="max-height:150px;overflow:auto;padding-top:5px;"><?php echo $_filter->getHtml() ?></div></dd>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php else : ?>
<?php $_filters = $this->getFilters() ?>
<?php foreach ($_filters as $_filter): ?>
<?php if($_filter->getItemsCount()): ?>
<dt>
<div style="background-color:#cdcdcd;padding:4px;border-radius:3px;"><?php echo $this->__($_filter->getName()) ?></div>
<?php if ($removeUrl = Mage::helper('layerednavigation')->getRemoveUrl($_filter)): ?>
<a class="btn-remove" href="<?php echo $removeUrl ?>" title="<?php echo $this->__('Clear All') ?>"><?php echo $this->__('Clear All') ?></a>
<?php endif ?>
</dt>
<dd><div style="max-height:150px;overflow:auto;padding-top:5px;"><?php echo $_filter->getHtml() ?></div></dd>
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
</dl>
<script type="text/javascript">decorateDataList('narrow-by-list')</script>
<?php endif; ?>
ckeck its first statement and give me solution
Hello check below code may be help you
<?php
$layer = Mage::getSingleton('catalog/layer');
$_category = $layer->getCurrentCategory();
$currentCategoryId= $_category->getId();
$children = Mage::getModel('catalog/category')->getCategories($currentCategoryId);
$countSubcategory=0;
foreach ($children as $category)
{
$countSubcategory++;
}
echo $countSubcategory;
?>
Could anyone guide me to display items with product and its options like color,size etc in header block..,Here is my code
<?php
$quote=Mage::getSingleton('checkout/session')->getQuote();
$count=Mage::getSingleton('checkout/cart')->getSummaryQty();
$total=$quote->getGrandTotal();
$cartItems=$quote->getAllVisibleItems();
?>
Your bag contains <?php echo $count ?> item(s) <?php echo Mage::helper('core')->formatPrice($total,false) ?>
<br>
<?php foreach($cartItems as $item): ?>
<?php echo $item->getName() ?>
<?php echo $item->getQty() ?>
<?php echo Mage::helper('core')->formatPrice($item->getPrice(),false) ?>
<?php $productOptions = $item->getProduct()->getTypeInstance(true)->getOrderOptions($item->getProduct()) ?>
<pre>
<?php //print_r($productOptions)?>
</pre>
<?php foreach($productOptions as $productOption): ?>
<!-- what should come here -->
<?php endforeach; ?>
<?php endforeach ?>
For some reason this code is returning NULL when trying to get a categories subcategories.
<?php var_dump($_category->getChildrenCategories()); ?>
Here is the full code from a .phmtl file.
<ul id="nav_vert">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php if ($_category->getIsActive()) { ?>
<?php $open = $this->isCategoryActive($_category); ?>
<?php $potential = $_category->hasChildren(); ?>
<li><a href="<?php echo $this->getCategoryUrl($_category); ?>"<?php if($open) { echo ' class="open"'; } ?><?php if($potential) { echo ' class="potential"'; } ?> ><?php if($potential&&$open) { echo 'v '; } elseif($potential) { echo '> '; }else{ echo ' '; }?><?php echo $_category->getName();?></a>
<?php if ($open && $potential): ?>
<?php var_dump($_category->getChildrenCategories()); ?>
<ul>
<?php foreach ($_category->getChildrenCategories() as $subcategory): ?>
<?php $subCat = Mage::getModel('catalog/category')->load($subcategory); ?>
<?php $open = $this->isCategoryActive($subCat); ?>
<?php $potential = $subCat->hasChildren(); ?>
<li><a href="<?php echo $this->getCategoryUrl($subCat); ?>"<?php if($open) { echo ' class="subopen"'; } ?><?php if($potential) { echo ' class="potential"'; } ?><?php if(!$potential&&$open) { echo ' class="final"'; } ?> ><?php if($potential&&$open) { echo ':: '; } elseif($potential) { echo '> '; }?><?php echo $subCat->getName(); ?> (<?php echo $subCat->getProductCount(); ?>)</a>
<?php if ($open && $potential): ?>
<ul>
<?php foreach ($subcategory->getChildrenCategories() as $subsubcategory): ?>
<?php $subsubCat = Mage::getModel('catalog/category')->load($subsubcategory); ?>
<?php $open = $this->isCategoryActive($subsubCat) ?>
<li><a href="<?php echo $this->getCategoryUrl($subsubCat); ?>" <?php if($open) { echo ' class="final"'; } ?>><?php echo $subsubCat->getName(); ?> (<?php echo $subsubCat->getProductCount(); ?>)</a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php } ?>
<?php endforeach ?>
</ul>
This line always returns true
<?php $potential = $_category->hasChildren(); ?>
And I know that the category has children.
Can anyone suggest why this doesn't work?
This is how I place the phtml in the page:
<reference name="left">
<block type="catalog/navigation" name="catalog.vertnav" template="catalog/navigation/vert_nav.phtml" before="-" />
</reference>
Magento version 1.5.1.0
Try using $_category->getChildren() (instead of $_category->getChildrenCategories() )
Have an easy day,
Pesach
You might also like to try this,
foreach ($_category->getCategories($_category) as $subcategory):
getCategories() is a more complex form but it allows you more control too. By specifying a recursion level you can retrieve not just the children but grand-children too...
Try with this code,
$this->getCurrentCategory()->getChildrenCategories()
Hope this helps
<?php $helper = $this->helper('catalog/category') ?>
<?php $categories = $this->getStoreCategories() ?>
<?php foreach($categories as $category): ?>
<?php $subcategories = $category->getChildren() ?>
<?php foreach($subcategories as $subcategory): ?>
<?php $subsubcategories = $subcategory->getChildren() ?>
<?php foreach($subsubcategories as $subsubcategory): ?>
<?php endforeach; ?><!-- end foreach subsubcategories -->
<?php endforeach; ?><!-- end foreach subcategories -->
<?php endforeach; ?><!-- end foreach categories -->
This is the basic idea behind extracting children categories.
So accordingly you can work on it.
I want to show All Product Categories in admin side of My module in System.xml as a multiselect.
$_category = Mage::getModel('catalog/category')->load();
$collection = Mage::getModel('catalog/category')->getCategories($_category->entity_id);
$helper = Mage::helper('catalog/category');
foreach($collection as $cat){
if($_category->getIsActive()){
$cur_category = Mage::getModel('catalog/category')->load($cat->getId());
$helper->getCategoryUrl($cat);
echo $cat->getName();
}
}
But it will not show what i am want, i want only product categories.... Can some one idea about it... Thanx.
To show Category selection in system configuration,i have find a solution for it by extending a Mage Model class and method.
Mage_Adminhtml_Model_System_Config_Source_Category
and remove the line.
->addPathFilter('^1/[0-9]+$')
Now it display multiselect option in system configuration. Where you can select multi categories from the list..
I was working on Magento 1.7 and I didn't see a line that contains
->addPathFilter('^1/[0-9]+$')
But, removing a following line worked for me.
->addRootLevelFilter()
?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
<?php foreach($_categories as $_category): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
<?php echo "<b>".$_category->getName(). $_category->getId()."</b>" ?>
</a>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul>
<?php foreach($_subcategories as $_subcategory): ?>
<li>
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
<?php echo "--".$_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>