Отобразить расширенный поиск в правой колонке right_col.phtml

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 evento
  • Группа: Пользователь
  • Сообщений: 12
  • Регистрация: 09.03.2011

31.10.2011 01:28

Здравствуйте, появилась задача прикрутить расширенный поиск на боковой сайтбар магазина, потому что до низу до него могут не долистать.
Нашел код, который за это отвечает в файле form.phtml скопировал его right_col.phtml.

<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     base_default
 * @copyright   Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
?>
<div class="block block-banner">
    <div class="block-content">
		
		<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
<form action="<?php echo $this->getSearchPostUrl() ?>" method="get" id="form-validate">
    <div class="fieldset advanced-search">
        <h2 class="legend"><?php echo $this->__('Search Settings') ?></h2>
        <ul class="form-list" 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="input-range">
                        <input type="text" 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" />
                        <span class="separator">-</span>
                        <input type="text" 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" />
                    </div>
                    <?php break;
                    case 'price': ?>
                    <div class="input-range">
                        <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" />
                        <span class="separator">-</span>
                        <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" />
                        <small>(<?php echo $this->getCurrency($_attribute); ?>)</small>
                    </div>
                    <?php break;
                    case 'select': ?>
                        <div class="input-box">
                            <?php echo $this->getAttributeSelectElement($_attribute) ?>
                        </div>
                    <?php break;
                    case 'yesno': ?>
                        <?php echo $this->getAttributeYesNoElement($_attribute) ?>
                    <?php break;
                    case 'date': ?>
                    <div class="input-range">
                        <?php echo $this->getDateInput($_attribute, 'from') ?>
                        <span class="separator">-</span>
                        <?php echo $this->getDateInput($_attribute, 'to') ?>
                    </div>
                    <?php break;
                    default: ?>
                    <div class="input-box">
                        <input type="text" 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) ?>" />
                    </div>
                <?php endswitch; ?>
            </li>
            <?php endforeach; ?>
        </ul>
        <script type="text/javascript">decorateList('advanced-search-list')</script>
    </div>
    <div class="buttons-set">
        <button type="submit" title="<?php echo $this->__('Search') ?>" class="button"><span><span><?php echo $this->__('Search') ?></span></span></button>
    </div>
</form>
<script type="text/javascript">
//<![CDATA[
    var dataForm = new VarienForm('form-validate', true);
//]]>
</script>
		
        <?php if(strtolower(substr($this->getLinkUrl(),0,4))==='http'): ?>
            <a href="<?php echo $this->getLinkUrl() ?>" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php elseif($this->getLinkUrl()): ?>
            <a href="<?php echo $this->getUrl($this->getLinkUrl()) ?>" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php endif; ?>
            <img src="<?php echo $this->getSkinUrl($this->getImgSrc()) ?>"<?php if(!$this->getLinkUrl()): ?> title="<?php echo $this->__($this->getImgAlt()) ?>"<?php endif; ?> alt="<?php echo $this->__($this->getImgAlt()) ?>" />
        <?php if($this->getLinkUrl()): ?>
        </a>
        <?php endif ?>
		
		<iframe width="420" height="315" src="http://www.youtube.com/embed/kjuxa7Xt_8M" frameborder="0" allowfullscreen></iframe>
    </div>
</div>


Но в итоге ничего не вышло.
Возможно я сделал так, как делать нельзя? Если да, то как нужно.
И еще - почему не работатет код Ютуба через iframe??? Знаю как вставлять в статичные блоки его, но как непосредставнно в код - не нашел.

Вернее есть такой совет
http://shamimcse05.wordpress.com/2010/12/30/how-to-add-youtube-video-to-product-details-page-in-magento/
, но он каcается как я думаю только атрибутов?

#2 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

31.10.2011 01:37

1. Чем вам не угодил обычный поиск?
2. Да, в php нет тега iframe
3. По приведенной вами ссылке находится решения для добавления роликов с youtube в описание товара, необходимо создать атрибут, значением которого выставлять ссылки на ролики

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

31.10.2011 05:33

Копировать кусок стандартного программного кода из одного места в другое - один из самых неудачных подходов к решению задачи.
Правильный подход в Magento к размещению нужного блока в нужном месте - посредством макетных правил.
Получить основную информацию о макетных правилах вы можете из опубликованной на форуме книги по созданию тем для Magento.
Затем также неплозо прочитать другую опубликованную на форуме книгу - для программистов.

#4 evento
  • Группа: Пользователь
  • Сообщений: 12
  • Регистрация: 09.03.2011

31.10.2011 09:54

Та ну мне-то угодил, только по дизайну правая колонка простаивает и стала задачу поставить туда поиск.

Просмотр сообщенияseadon (31.10.2011 01:37) писал:

2. Да, в php нет тега iframe


То есть когда я вставляю через Вайсивик эдитор код ютуба, его все равно подхватывает php??? Правильно?

Должен жу быть какой-то способ вставить видео напрямую.

#5 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

31.10.2011 11:29

Если через стандартный редактор, то все будет отображаться, но вы вставляете вручную в файл
Создайте блок, выведите его в нужном месте и через стандартной редактор в админ панели вставдяйте код ютуба, но не через визуальный редактор

Поделиться темой: