Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Advanced Search в блоке
 
udgeen69
Jr. Member
 
Total Posts:  28
Joined:  2009-03-14
 

Еще раз здравствуйте. По причине, что мне так и не удалось найти специалиста (кто-то имеет 3-4 проекта текущих и не может уделять много времени, кто-то соглашается, а потом не отвечает:((( ), который сможет прикрутить advansed search в блок и поместить его в правую колонку, я ищу решение.

Как мне поместить расширенный поиск в правую колонку? С чего начать.

Да, если кто-то все же решится помочь, но не хочет за бесплатно этого делать или поленится. Напишите ваши ожидания по стоимости, хоть тут, хоть в ЛС. Торговаться не буду, согласен на вашу цену, я ценю ваше и свое время.

Очень хочется наконец научится создавать блоки. Но видимо, что-то не дано мне сделать это самому, без пошагового руководства:(

Жду с нетерпением!

 
Magento Community Magento Community
Magento Community
Magento Community
 
retif
Sr. Member
 
Total Posts:  171
Joined:  2008-08-16
Odessa, Ukraine
 

Привет, вот, пробуй:

Создаем файл app\design\frontend\default\default\template\catalogsearch\advanced\form.custom.phtml
в него ложим этот код:

<div class="box base-mini mini-compare-products">
    <
div class="head">
        <
h4><?php echo $this->__('Catalog Advanced Search'?></h4>
    </
div>
    <
div class="content">

<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<form action="<?php echo $this->getSearchPostUrl() ?>" method="get" id="form-validate">
<
fieldset class="advanced-search wide">
    <
h4 class="legend"><?php echo $this->__('Search Settings'?></h4>
    <
ul id="advanced-search-list">
        
<?php foreach ($this->getSearchableAttributes() as $_attribute): ?>
        <?php $_code 
$_attribute->getAttributeCode() ?>
        
<li>
            <
label for="<?php echo $_code ?>"><?php echo $this->getAttributeLabel($_attribute?></label>
            
<?php switch($this->getAttributeInputType($_attribute)):
                case 
'number'?>
                
<div class="range field-row">
                    <
input name="<?php echo $_code ?>[from]" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text validate-number" type="text" />
                    -
                    <
input name="<?php echo $_code ?>[to]" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text validate-number" type="text" />
                </
div>
                
<?php break;
                case 
'price'?>
                
<div class="range field-row">
                    <
input name="<?php echo $_code ?>[from]" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text validate-number" type="text" />
                    -
                    <
input name="<?php echo $_code ?>[to]" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text validate-number" type="text" />

                    (
<?php echo $this->getCurrency($_attribute); ?>)
                </
div>
                
<?php break;
                case 
'select'?>
                    <?php 
echo $this->getAttributeSelectElement($_attribute?>
                <?php 
break;
                case 
'yesno'?>
                    <?php 
echo $this->getAttributeYesNoElement($_attribute?>
                <?php 
break;
                case 
'date'?>
                    <?php 
echo $this->getDateInput($_attribute'from'?>
                    
-
                    
<?php echo $this->getDateInput($_attribute'to'?>
                <?php 
break;
                default: 
?>
                
<input name="<?php echo $_code ?>" id="<?php echo $_code ?>" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute)) ?>" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text <?php echo $this->getAttributeValidationClass($_attribute) ?>" type="text" />
            
<?php endswitch; ?>
        
</li>
        
<?php endforeach; ?>
    
</ul>
    <
script type="text/javascript">decorateList('advanced-search-list')</script>
</fieldset>
<
div class="button-set">
    <
class="required">* <?php echo $this->__('Required Fields'?></p>
    <
button class="form-button" type="submit"><span><?php echo $this->__('Search'?></span></button>
</
div>
</
form>
<
script type="text/javascript">
    var 
dataForm = new VarienForm('form-validate'true);
</script>

    
</div>
</
div>

теперь нужно указать на каких страницах показывать этот блок, к примеру на странице со списком товаров:
открываем файл app\design\frontend\default\default\layout\catalog.xml
в хмл тег catalog_category_layered добавляем

<reference name="right">
            <
block type="catalogsearch/advanced_form" name="catalogsearch_advanced_form_custom" template="catalogsearch/advanced/form.custom.phtml"/>
        </
reference>

пару замечаний:
1. не забываем отключить кеш на время редактирования
2. мы добавили эти изменения в default тему, после обновления версии они пропадут.
что бы этого не произошло надо создать свою тему, а default поставить как второстепенную

 
Magento Community Magento Community
Magento Community
Magento Community
 
vascular
Jr. Member
 
Total Posts:  1
Joined:  2010-04-11
 

не чего не находит :( подскажите в чём ошибка? 

Whoops, our bad…

The page you requested was not found, and we have a fine guess why.

* If you typed the URL directly, please make sure the spelling is correct.
* If you clicked on a link to get here, the link is outdated.

What can you do?
Have no fear, help is near! There are many ways you can get back on track with Magento Store.

* Go back to the previous page.
* Use the search bar at the top of the page to search for your products.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dmitry Bashlov
Member
 
Avatar
Total Posts:  70
Joined:  2008-03-13
Chicago, IL, USA
 

Модуль давно сделан

http://inchoo.net/ecommerce/magento/advanced-search-sidebar-box/

обращайтесь…

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top