[Помощь] Картинка в карточке товара

webed

Постоялец
Регистрация
18 Июн 2008
Сообщения
64
Реакции
5
Всё перерыл,никак не могу изменить картинку в карточке товара
Для просмотра ссылки Войди или Зарегистрируйся
Что только не делал,но большая фотография и её миниатюры не хотят увеличиваться. Помогите,пожалуйста.
 
Для ясности ситуации следует указывать двиг (видно что магенто, но лучше указывать это сразу) и хак который применялся для такого эффекта увеличения.
И честно говоря непонятно, поменять картинку? или все же чтобы они увеличивались?!
Увеличиваются!
Выбираем вторую фотку. она становится сверху, при наведении появляется зум.
В чем проблема?!
 
Для ясности ситуации следует указывать двиг (видно что магенто, но лучше указывать это сразу) и хак который применялся для такого эффекта увеличения.
И честно говоря непонятно, поменять картинку? или все же чтобы они увеличивались?!
Увеличиваются!
Выбираем вторую фотку. она становится сверху, при наведении появляется зум.
В чем проблема?!
Извиняюсь, не так выразился.Ночь всётаки) В самой карточке дополнительные картинки мелкие совсем. Я хотел их увеличить. Они на данный момент 56х56px. Заодно и большую, сделать ещё больше.
 
найдите в вашем шаблоне вызовы метода resize и передайте в этих вызовах требуемый вам размер вместо 56.
 
найдите в вашем шаблоне вызовы метода resize и передайте в этих вызовах требуемый вам размер вместо 56.
В том то и беда, что я никак не могу найти именно для карточки товара. Нашёл для списка продукции, для корзины, но блин, для карточки никак не могу.
 
Миниатюра изображения создаётся методом resize класса Mage_Catalog_Product_Image
Выглядит это вот так примерно:
Код:
<img
    src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135, 135); ?>"
    width="135"
    height="135"
    alt="<?php echo $this->htmlEscape($_product->getName()) ?>"
/>
 
Миниатюра изображения создаётся методом resize класса Mage_Catalog_Product_Image
Выглядит это вот так примерно:
Код:
<img
    src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135, 135); ?>"
    width="135"
    height="135"
    alt="<?php echo $this->htmlEscape($_product->getName()) ?>"
/>
Это я знаю. Мануал читал. Код, что представлен выше, изменит размер изображения в общем каталоге. С этим я разобрался. Не могу найти именно для карточки товара
 
Вам нужно разобраться как работает класс Mage_Catalog_Helper_Image
а методы keepFrame, resize, constrainOnly, backgroundColor и другие позволят гибко настроить параметры отображения товара.
 
Вам нужно разобраться как работает класс Mage_Catalog_Helper_Image
а методы keepFrame, resize, constrainOnly, backgroundColor и другие позволят гибко настроить параметры отображения товара.
Проблема в том, что многие пишут,что класс применяется в шаблоне. Открываю шаблон карточки, там нет этого класса.

Ниже код с файла карточки :

PHP:
<?php $_helper = $this->helper('catalog/output'); ?>
<?php $_product = $this->getProduct(); ?>
<script type="text/javascript">
    var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
</script>
 
<div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
<div class="product-view">
  <div class="product-essential">
    <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
      <div class="no-display">
        <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
        <input type="hidden" name="related_product" id="related-products-field_1" value="" />
      </div>
 
      <!--Prev/Next Code Start-->
      <?php
$_helper = $this->helper('catalog/output');
$_product = $this->getProduct();
$prev_url = $next_url = $url = $_product->getProductUrl();
 
if ($this->helper('catalog/data')->getCategory()) {
$category = $this->helper('catalog/data')->getCategory();
} else {
$_ccats = $this->helper('catalog/data')->getProduct()->getCategoryIds();
$category = Mage::getModel('catalog/category')->load($_ccats[0]);
}
 
$children = $category->getProductCollection();
$_count = is_array($children) ? count($children) : $children->count();
if ($_count) {
foreach ($children as $product) {
$plist[] = $product->getId();
}
 
/**
* Determine the previous/next link and link to current category
*/
$current_pid  = $this->helper('catalog/data')->getProduct()->getId();
$curpos  = array_search($current_pid, $plist);
// get link for prev product
$previd  = isset($plist[$curpos+1])? $plist[$curpos+1] : $current_pid;
$product  = Mage::getModel('catalog/product')->load($previd);
$prevpos  = $curpos;
while (!$product->isVisibleInCatalog()) {
$prevpos += 1;
$nextid  = isset($plist[$prevpos])? $plist[$prevpos] : $current_pid;
$product  = Mage::getModel('catalog/product')->load($nextid);
}
$prev_url = $product->getProductUrl();
// get link for next product
$nextid  = isset($plist[$curpos-1])? $plist[$curpos-1] : $current_pid;
$product  = Mage::getModel('catalog/product')->load($nextid);
$nextpos  = $curpos;
while (!$product->isVisibleInCatalog()) {
$nextpos -= 1;
$nextid  = isset($plist[$nextpos])? $plist[$nextpos] : $current_pid;
$product  = Mage::getModel('catalog/product')->load($nextid);
}
$next_url = $product->getProductUrl();
}
?>
 
 
      <!--Prev/Next Code End-->
 
      <div class="upsell_pro"> <?php echo $this->getChildHtml('upsell_products') ?>
      </div>
      <div class="product-shop">
 
      <div class="f-fix mb-10">
          <?php if ($url <> $next_url):?>
          <a class="prod-prev" href="<?php echo $next_url; ?>">пред.</a>
        <?php endif; ?>
        <?php if ($url <> $prev_url):?>
          <a class="prod-next" href="<?php echo $prev_url; ?>">след.</a>
        <?php endif; ?>
      </div>
        <div class="product-name">
          <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
          <!--<div class="sku">Sku: <?php //echo $this->htmlEscape($_product->getSku()) ?></div>-->
        </div>
        <?php echo $this->getTierPriceHtml() ?>
 
        <?php echo $this->getChildHtml('alert_urls') ?>
        <?php echo $this->getChildHtml('product_type_data') ?>
        <div class="pro-left">
        <div class="product-collateral"> <?php echo $this->getChildHtml('info_tabs') ?>  </div>
 
 
        </div>
 
      </div>
      <div class="product-img-box"> <?php echo $this->getChildHtml('media') ?> </div>
      <div class="clearer"></div>
    </form>
  </div>
 
</div>
<script type="text/javascript">
    //<![CDATA[
        var productAddToCartForm = new VarienForm('product_addtocart_form');
        productAddToCartForm.submit = function(button, url) {
        if (this.validator.validate()) {
            var form = this.form;
            var oldUrl = form.action;
            if (url) {
                form.action = url;
            }
            var e = null;
            // Start of our new ajax code
            if (!url) {
                url = jQuery('#product_addtocart_form').attr('action');
            }
            url = url.replace("checkout/cart","ajax/index"); // New Code
            var data = jQuery('#product_addtocart_form').serialize();
            data += '&isAjax=1';
            jQuery('#ajax_loader').show();
            try {
                jQuery.ajax( {
                    url : url,
                    dataType : 'json',
                    type : 'post',
                    data : data,
                    success : function(data) {
                        jQuery('#ajax_loader').hide();
                        if(data.status == 'ERROR'){
                            alert(data.message);
                        }else{
                            if(jQuery('.block-cart')){
                                jQuery('.block-cart').replaceWith(data.sidebar);
                            }
                            if(jQuery('.header .links')){
                                jQuery('.header .links').replaceWith(data.toplink);
                            }
                        }
                    }
                });
            } catch (e) {
            }
            // End of our new ajax code
            this.form.action = oldUrl;
            if (e) {
                throw e;
            }
        }
    }.bind(productAddToCartForm);
    productAddToCartForm.submitLight = function(button, url){
            if(this.validator) {
                var nv = Validation.methods;
                delete Validation.methods['required-entry'];
                delete Validation.methods['validate-one-required'];
                delete Validation.methods['validate-one-required-by-name'];
                if (this.validator.validate()) {
                    if (url) {
                        this.form.action = url;
                    }
                    this.form.submit();
                }
                Object.extend(Validation.methods, nv);
            }
        }.bind(productAddToCartForm);
    //]]>
    </script>
[/spoil]


update: Решил проблему спустя сутки.
Немного оффтопа для начала...Я НЕНАВИЖУ магенто всеми фибрами души с этого момента))) Беспорядок полный.
[spoil]В общем, кто пользуется всякими зумами как я,посвящаю решение проблемы:Все изменения делать в файле /design/frontend/default/default/template/featurezoom(или ваше название)/media.phtml
Шаблонную медию вообще можно не трогать. Она бесполезна, как выяснилось.
 
Назад
Сверху