http://www.panticz.de/sites/default/files/magento/catalogsearch/form.mini.phtml
<form id="search_mini_form" action="<?php echo $this->helper('catalogsearch')->getResultUrl() ?>" method="get">
<div class="form-searchx">
<!-- <img border="0" height="16" width="16" alt="" src="skin/frontend/default/default/images/icon_search.gif"> -->
<input id="search" type="text" name="<?php echo $this->helper('catalogsearch')->getQueryParamName() ?>" value="<?php echo $this->helper('catalogsearch')->getEscapedQueryText() ?>" class="input-text" />
<?php $startCategory = 2227; ?>
<select name="cat" id="searchCategory">
<option value="<?php echo $startCategory ?>">Alle Kategorien</option>
<?php
$searchCategory = Mage::app()->getRequest()->getParam('cat');
$cats = Mage::getModel('catalog/category')->load($startCategory)->getChildren();
$catIds = explode(',', $cats);
$categories = array();
foreach($catIds as $catId) {
$category = Mage::getModel('catalog/category')->load($catId);
$categories[$category->getName()] = $catId;
}
ksort($categories, SORT_STRING);
?>
<?php foreach($categories as $name => $catId): ?>
<option value="<?php echo $catId; ?>" <?php if($catId == $searchCategory) echo "selected"?>><?php echo $name; ?></option>
<?php endforeach; ?>
</select>
<button type="submit" title="<?php echo $this->__('Search') ?>" class="button"><span><span><?php echo $this->__('Search') ?></span></span></button>
<div id="search_autocomplete" class="search-autocomplete"></div>
<script type="text/javascript">
//<![CDATA[
var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('') ?>');
searchForm.initAutocomplete('<?php echo $this->helper('catalogsearch')->getSuggestUrl() ?>', 'search_autocomplete');
//]]>
</script>
</div>
</form>
<!-- <input type="hidden" name="order" value="relevance"> -->
<!-- <input type="hidden" name="dir" value="desc"> -->
<?php /* old version
$categories = Mage::getModel('catalog/category')->load(2227)->getChildren();
$catIds = explode(',',$categories);
foreach($catIds as $catId) {
$category = Mage::getModel('catalog/category')->load($catId);
$categoryName = $category->getName();
echo "<option value=\"$catId\">$categoryName</option>\n";
} */
?>
http://www.panticz.de/sites/default/files/magento/catalogsearch/catalogsearch.xml.diff
--- ./app/design/frontend/base/default/layout/catalogsearch.xml 2010-11-29 15:05:49.000000000 +0100
+++ ./app/design/frontend/default/default/layout/catalogsearch.xml 2010-11-29 15:29:58.000000000 +0100
@@ -51,7 +51,7 @@
<remove name="right.newsletter" />
<remove name="right.reports.product.viewed" />
<reference name="root">
- <action method="setTemplate"><template>page/3columns.phtml</template></action>
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
<reference name="left">
<block type="catalogsearch/layer" name="catalogsearch.leftnav" after="currency" template="catalog/layer/view.phtml"/>
@@ -69,6 +69,7 @@
<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
+ <action method="setColumnCount"><count>4</count></action>
</block>
<action method="setListOrders"/>
<action method="setListModes"/>
@@ -85,7 +86,7 @@
<label>Advanced Search Form</label>
<!-- Mage_Catalogsearch -->
<reference name="root">
- <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
<reference name="head">
<action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
@@ -107,16 +108,21 @@
<update handle="page_two_columns_right" />
<!-- Mage_Catalogsearch -->
<reference name="root">
- <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
<reference name="content">
<block type="catalogsearch/advanced_result" name="catalogsearch_advanced_result" template="catalogsearch/advanced/result.phtml">
<block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
+ </block>
<action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
<action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
+ <action method="setColumnCount"><count>4</count></action>
</block>
<action method="setListOrders"/>
<action method="setListModes"/>
@@ -131,7 +137,7 @@
<remove name="left"/>
<reference name="root">
- <action method="setTemplate"><template>page/1column.phtml</template></action>
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
<reference name="content">
<block type="catalogsearch/term" name="seo.searchterm" template="catalogsearch/term.phtml"/>
http://www.panticz.de/sites/default/files/magento/catalogsearch/Query.php.diff
--- ./app/code/core/Mage/CatalogSearch/Model/Mysql4/Query.php.org 2010-12-15 16:32:26.000000000 +0100
+++ ./app/code/core/Mage/CatalogSearch/Model/Mysql4/Query.php 2010-12-15 16:34:40.000000000 +0100
@@ -64,6 +64,9 @@
*/
public function loadByQuery(Mage_Core_Model_Abstract $object, $value)
{
+ $startCategory = 2227;
+ $searchCategory = Mage::app()->getRequest()->getParam('cat');
+ if($searchCategory == $startCategory) {
$select = $this->_getReadAdapter()->select()
->from($this->getMainTable())
->where('synonym_for=?', $value)
@@ -74,6 +77,7 @@
$object->setData($data);
$this->_afterLoad($object);
}
+ }
return $this;
}