Bagaimana cara menonaktifkan "Tambahkan ke Troli" pada produk tertentu, dan sebaliknya menampilkan tombol "Lihat Detail" di tampilan daftar kategori?

20

Saya bertanya-tanya bagaimana cara menonaktifkan tombol Tambahkan ke Troli pada beberapa produk tertentu, dan saya menemukan panduan yang ditinggalkan tentang cara melakukan ini, yang berhasil, tetapi itu agak tidak lengkap, karena itu hanya solusi di halaman tampilan produk, dan bukan pada daftar kategori atau halaman kisi.

Saya akan menjawab pertanyaan saya sendiri di sini dalam 8 jam (karena saya harus menunggu 8 jam, karena reputasi saya di bawah titik tertentu), setelah saya menjelaskan langkah-langkah pertama, dan jawaban saya akan menjadi Langkah ke-3 yang hilang yang harus saya pikirkan keluar untuk diriku sendiri. Saya akan mencoba membuatnya mudah diikuti:

[Langkah 1]

[1]

Buat atribut yang akan Anda gunakan pada produk yang tidak Anda inginkan tombol Add to Cart. Di dasbor Admin, buka ...

Katalog> Atribut> Kelola Atribut> Tambahkan Atribut Baru

Beri nama atribut apa pun yang Anda suka, misalnya: "No_cart_button"

Dengan Properties:

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

Dengan Kelola Label / Opsi:

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

Sekarang simpan atribut ini.

[2]

Tetapkan atribut baru Anda ke grup, sehingga Anda dapat menggunakannya. Saya menggunakan "Default". Pergi ke...

Catalog > Attributes > Manage Attributes Sets > Select Set

Sekarang simpan set atribut ini.

[Langkah 2]

Kami akan menambahkan beberapa kode ke view.phtml

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

Temukan blok kode ini:

    <?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; ?>

ok, sekarang ganti dengan blok kode ini:

<?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
}
?>

Kode ini memeriksa apakah No_cart_button disetel ke ya. Jika diatur ke ya, itu mengeluarkan kode, yang akan menghapus tombol tambahkan ke keranjang dan alih-alih menunjukkan teks yang mengatakan, "Produk ini tidak tersedia online, silakan hubungi perwakilan kami jika Anda ingin membeli ini.".

Oke 2 langkah ini selesai, dan menghapus Tambahkan ke Troli pada halaman tampilan produk.

Tapi, ini tidak menghapus tombol "Tambahkan ke Troli" pada halaman daftar Kategori. Sekarang, kami ingin membuat tombol "Lihat Detail" pada halaman daftar kategori, alih-alih tombol "Tambahkan ke Troli".

[EDIT]

Menjawab:

kevinkirchner benar, kami akan menambahkan logika ini ke list.phtml sekarang. Kami sudah memastikan pengaturan atribut untuk "Digunakan dalam Daftar Produk" diatur ke 'YA'.

Baik,

[Langkah 3]

Kami akan membuatnya ketika Disable Add to Cart diatur ke Yes, itu juga menonaktifkan tombol "Add to Cart" pada halaman daftar Kategori.

Pergi ke list.phtml

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

dan cari file ini untuk:

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

Seharusnya muncul 2 kali dalam file ini.

Tepat di bawah baris ini, masukkan kode berikut

<?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 {
?>

Kemudian tepat di bawah kode Anda yang menciptakan tombol 'Tambahkan ke Troli' yang normal, Anda akan melihat

<?php
}
?>

tepat di bawah ini, masukkan kode lain yang sama:

<?php
}
?>

Ok, sekarang lakukan 2 langkah yang sama persis ke blok kode lain di file ini di mana Anda temukan

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

Anda harus melakukan ini dua kali, karena yang pertama adalah untuk Tampilan Daftar, dan yang kedua untuk Tampilan Grid.

stephen bijak
sumber
Ini bukan situs web saya untuk 'showcase' atau 'show off'. T&J. Saya merekomendasikan bahwa pertanyaan 'yang disebut' ini ditutup.
Marius
Oh, saya berharap dapat membantu orang - Haruskah saya menghapus ini atau membiarkannya sehingga dapat dicari?
stephen bijak
@Marius Saya tidak berpikir ini 'pamer' begitu banyak karena OP perlu bekerja cukup rep untuk memposting Jawaban mereka sendiri. Saya memilih untuk menutup hingga saat itu, kemudian akan membahas pembukaan kembali atau Anda dapat memposting ulang Q&A Anda.
philwinkle
Maaf kawan, saya harus mempelajari cara Stack Exchange lebih baik. Saya akan belajar dengan pengalaman juga, terima kasih telah membantu saya memahami hal-hal ini.
stephen bijak

Jawaban:

7
  1. Pastikan atribut Anda tersedia di halaman daftar produk dengan menetapkan "Digunakan dalam Daftar Produk" menjadi "Ya" saat mengedit atribut - tangkapan layar

  2. Tambahkan logika Anda template/catalog/product/list.phtmluntuk menampilkan tombol Tambahkan ke Troli / Lihat perincian

kevnk
sumber
Ya! Saya akan memilih jawaban Anda. Saya akan memberikan detail yang lebih spesifik dalam pengeditan pada posting asli saya.
stephen bijak