Belirli ürünlerde "Sepete Ekle" yi nasıl devre dışı bırakabilir ve bunun yerine kategori listesi görünümünde "Ayrıntıları Görüntüle" düğmesini nasıl görüntüleyebilirim?


20

Birkaç belirli üründe Sepete Ekle düğmesini nasıl devre dışı bırakacağımı merak ediyordum ve bunun nasıl yapılacağına dair terk edilmiş bir kılavuz buldum, bu da işe yaradı, ancak sadece ürün görünüm sayfalarında sadece bir çözüm olduğu için biraz eksikti, kategori listesinde veya ızgara sayfalarında değil.

8 saat içinde burada kendi soruma cevap vereceğim (ünüm belirli bir noktanın altında olduğu için 8 saat beklemem gerektiğinden), ilk adımları açıkladıktan sonra ve cevabım anlaması gereken eksik 3. Adım olacak kendim için. Bunu takip etmeyi kolaylaştırmaya çalışacağım:

[Aşama 1]

[1]

Sepete Ekle düğmesi istemediğiniz ürünlerde kullanacağınız bir özellik oluşturun. Yönetici kontrol panelinde şu adrese gidin:

Katalog> Özellikler> Özellikleri Yönet> Yeni Özellik Ekle

Özelliğinizi istediğiniz gibi adlandırın, örneğin: "No_cart_button"

Özellikler ile:

Attribute Code: No_cart_button
Catalog Input Type for Store Owner: Yes/No


Use in Quick Search: No     
Use in Advanced Search: No  
Comparable on Front-end: No
Visible on Product View Page on Front-end: No   
Used in Product Listing: YES
Used for Sorting in Product Listing: No

Etiketi / Seçenekleri Yönet ile:

Admin: Disable Add to Cart
English: Disable Add to Cart

Şimdi bu özelliği kaydedin.

[2]

Kullanabilmeniz için yeni özelliğinizi bir gruba atayın. "Varsayılan" ı kullandım. Git ...

Catalog > Attributes > Manage Attributes Sets > Select Set

Şimdi bu öznitelik kümesini kaydedin.

[Adım 2]

View.phtml dosyasına bir kod ekleyeceğiz

app/design/frontend/default/theme/template/catalog/product/view.phtml

Bu kod bloğunu bulun:

    <?php if (!$this->hasOptions()):?>
    <div class="add-to-box">
    <?php if($_product->isSaleable()): ?>
    <?php echo $this->getChildHtml('addtocart') ?>
    <?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
    <span class="or"><?php echo $this->__('OR') ?></span>
    <?php endif; ?>
    <?php endif; ?>
    <?php echo $this->getChildHtml('addto') ?>
    </div>
    <?php echo $this->getChildHtml('extra_buttons') ?>
    <?php elseif (!$_product->isSaleable()): ?>
    <div class="add-to-box">
    <?php echo $this->getChildHtml('addto') ?>
    </div>
    <?php endif; ?>

tamam, şimdi bu kod bloğuyla değiştirin:

<?php
//Checks if the "Disable Add to Cart" variable is set to 'Yes': 
if(($_product->getAttributeText('No_cart_button')) == "Yes"){
//If set to Yes, tell PHP what to output:
echo "This Product is not available online, please call our representative if you wish to purchase this.";
}
//If set as No, then show the 'add to cart box' as usual.
else {
?>

<?php if (!$this->hasOptions()):?>
<div class="add-to-box">
<?php if($_product->isSaleable()): ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
<span class="or"><?php echo $this->__('OR') ?></span>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->getChildHtml('addto') ?>
</div>
<?php echo $this->getChildHtml('extra_buttons') ?>
<?php elseif (!$_product->isSaleable()): ?>
<div class="add-to-box">
<?php echo $this->getChildHtml('addto') ?>
</div>
<?php endif; ?>

<?php
}
?>

Bu kod, No_cart_button öğesinin yes olarak ayarlanıp ayarlanmadığını denetler. Evet olarak ayarlanırsa, sepete ekle düğmesini kaldıracak ve bunun yerine "Bu Ürün çevrimiçi olarak kullanılamıyor, lütfen bunu satın almak istiyorsanız lütfen temsilcimizi arayın" kodunu içeren kodu verir.

Tamam, bu 2 adım tamamlanmıştır ve ürün görünümü sayfasındaki Sepete Ekle'yi kaldırır.

Ancak, Kategori listesi sayfalarındaki "Sepete Ekle" düğmesi kaldırılmaz. Şimdi, kategori listesi sayfalarında "Sepete Ekle" düğmesi yerine "Ayrıntıları Görüntüle" düğmesi yapmak istiyoruz.

[DÜZENLE]

Cevap:

kevinkirchner doğru, bu mantığı list.phtml'ye şimdi ekleyeceğiz. "Ürün Listelemede Kullanıldı" özellik ayarlarının "EVET" olarak ayarlandığından emin olduk.

Tamam,

[Aşama 3]

Bunu, Sepete Ekle'yi Devre Dışı Bırak olarak ayarladığınızda Evet, Kategori listesi sayfalarındaki "Sepete Ekle" düğmesini de devre dışı bırakırız.

List.phtml adresine gidin

app/design/frontend/default/theme/template/catalog/product/list.phtml

ve bu dosyayı şurada ara:

<?php if($_product->isSaleable()): ?>

Bu dosyada 2 kez görünmelidir.

Bu satırın hemen altına, aşağıdaki kodu ekleyin

<?php
if(($_product->getAttributeText('No_cart_button')) == "Yes"){ ?>
<p><button type="button" title="<?php echo $this->__('View Details') ?>" class="button btn-cart" onclick="location.href='<?php echo $_product->getProductUrl() ?>'"><span><span><?php echo $this->__('View Details') ?></span></span></button></p>
<?php 
}
else {
?>

Sonra normal 'Sepete Ekle' düğmesini oluşturan kodunuzun hemen altında,

<?php
}
?>

hemen altına, aynı kod parçasından bir tane daha ekleyin:

<?php
}
?>

Tamam, şimdi bu dosyada bulduğunuz diğer kod bloğuna aynı 2 adımı uygulayın

<?php if($_product->isSaleable()): ?>

Bunu iki kez yapmanız gerekir, çünkü ilk kez Liste Görünümü ve ikinci kez Kılavuz Görünümü içindir.


Bu, 'vitrin' veya 'gösteriş' için web sitesi değil. BT'nin Soru ve Cevapları. Bu 'sözde' sorunun kapatılmasını öneriyorum.
Marius

Oh, insanlara yardım etmeyi umuyordum - Bunu silmeli miyim yoksa aranabilir mi bırakmalıyım?
stephen wise

@Marius, OP'nin kendi Yanıtlarını yayınlamak için yeterli temsilci çalıştırması gerektiği kadar 'gösterişli' olduğunu sanmıyorum. O zamana kadar kapanmaya oy veriyorum, sonra tekrar açacağım ya da Soru-Cevaplarınızı yeniden gönderebilirsiniz.
philwinkle

Üzgünüm çocuklar, Stack Exchange'in yollarını daha iyi öğrenmeliyim. Ben de deneyimle öğreneceğim, bunları anlamama yardım ettiğin için teşekkürler.
stephen wise

Yanıtlar:


7
  1. Özelliğinizi düzenlerken "Ürün Listesinde Kullanılanlar" ı "Evet" olarak ayarlayarak özelliğinizin ürün listeleme sayfasında bulunduğundan emin olun - ekran görüntüsü

  2. template/catalog/product/list.phtmlGöstermek için mantığınızı ekleyin Sepete Ekle / Ayrıntıları Görüntüle düğmesi


Evet! Cevabınızı seçeceğim. Orijinal yazımdaki bir düzenlemede daha ayrıntılı bilgi vereceğim.
stephen wise
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.