ข้ามไปที่เนื้อหาหลัก

Joomla วิธีทำให้หน้า VirtueMart Category Layout แสดงปุ่ม หยิบใส่ตะกร้า (Add-to-Cart)


ได้แนวคิดมาจาก comment ของ MobileMeMS https://forum.virtuemart.net/index.php?topic=102339.0

แล้วของ outthebox ก็ทำให้แล้ว แต่เลขบรรทัดไม่ตรงกัน ก็เลยไม่ได้อ่านละเอียด http://forum.virtuemart.net/index.php?topic=90961.90 แต่เลขบรรทัดมันไม่ตรงกัน

สุดท้ายก็งมเอง ได้ความประมาณนี้
  1. ไปเอา Code ที่ไฟล์ ชื่อไซต์\components\com_virtuemart\views\productdetails\tmpl\default_addtocart.php - copy Code ตั้งแต่ บรรทัด <div class="addtocart-area">(บรรทัด 22) ไปจนบรรทัดสุดท้าย </div>(บรรทัด 108)
  2. ไปที่ไฟล์ ชื่อไซต์\components\com_virtuemart\views\category\tmpl\default.php
  3. - แทรก Code ที่ copy มาให้อยู่ระหว่างบรรทัด (บรรทัด 311) และบรรทัด (บรรทัด 407)
  4. จากนั้นให้ find and replace คำว่า $this->product แล้วแทนด้วย $product ***ทำเฉพาะส่วนโค้ดที่แทรกเข้ามาเท่านั้น
เท่านี้ก็ได้ปุ่มหยิบใส่ตะกร้าแล้ว 

โค้ดที่แก้ไขแล้ว พร้อมวางแทรกได้ ตามข้างล่างนี้เลย

<!-- -------------------------------------------JaJaEdit Add-to-Cart---------Start-------------------------------------------------- -->

<div>

<form method="post" action="<?php echo JRoute::_ ('index.php'); ?>"> <?php // Product custom_fields if (!empty($product->customfieldsCart)) { ?> <div> <?php foreach ($product->customfieldsCart as $field) { ?> <div> <span><span><strong><?php echo JText::_ ($field->custom_title) ?></strong></span> <?php if ($field->custom_tip) { echo JHTML::tooltip ($field->custom_tip, JText::_ ($field->custom_title), 'tooltip.png'); } ?></span> <span><?php echo $field->display ?></span>

<span><?php echo $field->custom_field_desc ?></span> </div><br/> <?php } ?> </div> <?php } /* Product custom Childs * to display a simple link use $field->virtuemart_product_id as link to child product_id * custom_value is relation value to child */

if (!empty($product->customsChilds)) { ?> <div> <?php foreach ($product->customsChilds as $field) { ?> <div> <span><strong><?php echo JText::_ ($field->field->custom_title) ?></strong></span> <span><?php echo JText::_ ($field->field->custom_value) ?></span> <span><?php echo $field->display ?></span>

</div><br/> <?php } ?> </div> <?php } ?>

<div>

<?php // Display the quantity box

$stockhandle = VmConfig::get ('stockhandle', 'none'); if (($stockhandle == 'disableit' or $stockhandle == 'disableadd') and ($product->product_in_stock - $product->product_ordered) < 1) { ?> <a href="<?php echo JRoute::_ ('index.php?option=com_virtuemart&view=productdetails&layout=notify&virtuemart_product_id=' . $product->virtuemart_product_id); ?>"><?php echo JText::_ ('COM_VIRTUEMART_CART_NOTIFY') ?></a>

<?php } else { ?> <!-- <label for="quantity<?php echo $product->virtuemart_product_id; ?>"><?php echo JText::_ ('COM_VIRTUEMART_CART_QUANTITY'); ?>: </label> --> <span> <input type="text" name="quantity[]" value="<?php if (isset($product->min_order_level) && (int)$product->min_order_level > 0) { echo $product->min_order_level; } else { echo '1'; } ?>"/>    </span> <span> <input type="button"/> <input type="button"/>    </span> <?php // Display the quantity box END ?>

<?php // Display the add to cart button ?> <span> <?php echo shopFunctionsF::getAddToCartButton ($product->orderable); ?> </span> <?php } ?>

<div></div> </div>

<?php // Display the add to cart button END  ?> <input type="hidden" value="<?php echo $product->product_name ?>"/> <input type="hidden" name="option" value="com_virtuemart"/> <input type="hidden" name="view" value="cart"/> <noscript><input type="hidden" name="task" value="add"/></noscript> <input type="hidden" name="virtuemart_product_id[]" value="<?php echo $product->virtuemart_product_id ?>"/> </form>

<div></div></div>


<!-- -------------------------------------------JaJaEdit Add-to-Cart--End--------------------------------------------------------- -->




ปัญหาที่ยังเจอ เวลากดแล้วมันไม่ยอม Post ไปหน้าเดิมทำให้ตะกร้าไม่ update ต้องคอยกด refresh ใหม่

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

เทคนิคการสอบใบขับขี่รถยนต์ ท่าจอดรถเทียบฟุตบาทห่างไม่เกิน 25cm ด้วย "Sticker"

วันนี้พาพี่ที่บ้านไปสอบใบขับขี่รถยนต์ครั้งที่ 3 ซึ่งสอบตกท่าจอดรถเทียบฟุตบาท โดยคนขับรถเป็นแล้วจะรู้สึกว่าไม่เห็นจะยากตรงไหน แต่สำหรับคนที่เพิ่งหัดขับรถ ประกอบกับได้จับรถป้ายแดงที่เพิ่งถอยออกมาขับได้ ไม่ถึง 5 ชม. นั้นเป็นเรื่องที่ยากจะทำได้ ผมคนหนึ่งที่ได้ใบขับขี่มานาน แต่พอให้มาขับจอดเทียบฟุตบาทด้วยรถป้ายแดงใหม่เอี่ยมของคนอื่นแล้ว มีอันต้องจอดห่างทุกที ด้วยเวลาในการซ้อมขับที่เหลือไม่ถึง 3 ชม. ก่อนสอบจริง ทำให้ต้องคิดหาเทคนิควิธีต่าง ๆ ที่จะทำได้ใบขับขี่มา (เพราะเหนื่อยกับความพยายามสอบมา 2 ครั้งแล้ว) จนทำให้คิดเทคนิค "Sticker" นี้ขึ้นได้ โดยปกติแล้วถ้าขับรถจอดเทียบฟุตบาทแล้วพยายามมองกระจกข้างให้ล้อหลังชิดเส้นขอบพอดี ผลออกมาจะทำให้ล้อหน้าปีนฟุตบาท ไอ้ครั้นจะให้พี่ที่เพิ่งหัดขับรถมาได้ไม่ถึง 8 ชม. กะขนาดตัวรถให้ได้ (ซึ่งขนาดผมเองยังคงกะลำบาก) ภายในสิบห้านาทีนั้นโอกาสเป็นไปได้ยากมาก ด้วยการทดลองเทคนิคต่าง ๆ หลาย ๆ แบบ ที่พอจะนึกออกจากประสบการณ์และเวลาอันสั้นรวบรัด ก็ทำให้เกิดแนวคิดที่ว่า ทำอย่างไรให้สามารถมองล้อหน้าว่าติดเส้นขอบหรือเปล่า ได้เหมือนกับที่ใช้กระจก

ทำ TP-Link TL-WA850RE v1.2 ลง OpenWrt ทำเป็น Range Extender และ auto login Hotspot (WISP Mode)

(ลอกคำพูด  บทความเก่า ) สืบเนื่องจากได้รับการแจก Wifi Range Extender TP-Link TL-WA850RE มาเพื่อใช้กระจายสัญญาณ Wifi ของบ้านพัก ที่เป็น GPON ปัญหาคือ TP-Link มันกากกกกกกกกกก..............มากกกกกกกกกกกกกก กล่าวคือ 1. ปัญหา ping กากกกกก.......... เริ่มใช้งานก็ดีอยู่ ping ไป Gateway ได้ ราว 5-10ms แต่พอใช้ไปสัก 3-4 ชม. มันจะ ping ขึ้นเป็น  400-500ms รู้สึกได้เพราะใช้ Remote Desktop ตลอด เม้าส์มันจะกระตุก ๆ ๆ ๆ จนน่ารำคาญ วิธีแก้แสนง่าย (แต่ไม่ยั่งยืน) คือ สั่ง reboot หรือ ชักปลั๊กเสียบใหม่ 2. ปัญหาเนตตัด แน่นอน ระบบ authen พรบ.กำหนดว่า "ของมันต้องมี" ถึงแม้จะตั้งเวลา TimeOut ให้ถึง 24 ชม. แต่มันก็ไม่คล่องตัว เพราะติดกล้องวงจรปิดไว้ดูผ่านเนตตอนไม่อยู่บ้าน แต่พอจะดูกลับ "ดูไม่ได้" เพราะ "เน็ตตัด" ช่างเจ็บกระดองใจจริง ๆ เรื่องเนตตัดที่บ้านก็มี Router LinkSys WRT-350N อยู่ซื้อตอนทำวิจัยปี 51 รูดปรื๊ดมาตั้ง 6500 (ตอนนี้เสียดายตังค์มาก) ซึ่งลง DD-WRT v24sp2 เรียบร้อย ตั้งใจจะทำ auto login แต่ดันมาตายจากไปเสียก่อน ระหว่างพยายามหา Router Linksys WRT54GL ในตำน

ทำ Linksys WRT54GL v1.1 ลง DD-WRT ให้เป็น auto login Hotspot (WISP Mode)

สืบเนื่องจากได้ Router Linksys WRT54GL มา เลยอยากเอามาทำ auto login ให้เหมือน NanoStation M5  ก็เลยต้องพึ่งพา Firmware DD-WRT v24 SP2 mini build 12548M NEWD Eko แต่ทว่า มันไม่มี Station Mode ให้เลือก จากการหาข้อมูลถึงให้รู้ว่าต้องเลือกเป็น Client Mode จากนั้นก็ตั้งค่าปกติ แต่ทำแล้วติด dns cannot resolve ต้องตั้งค่าปลด  UseDNSMasq on DHCP ออก ก็สามารถใช้งาน DNS ได้ เริ่มใส่ script auto login แต่ติดที่ว่า DD-WRT ไม่มี persistence storage พอสร้างไฟล์ script เสร็จ มันก็หายตอนเครื่อง restart ค้นหาข้อมูลก็เจอแนวทางให้ใช้ Startup Script สร้าง script file ตอนเริ่มบูตเครื่องเลย ดังภาพ - script มีการเปลี่ยนนิดหน่อย เพราะ wget ใช้เหมือนเดิมไม่ได้ Startup Script มีดังนี้ echo '#!/bin/sh' > /tmp/autologin.sh echo 'count=$(ping -c5 -w5 8.8.8.8 | grep "100% packet loss" | wc -l)' >>/tmp/autologin.sh echo 'if [ "$count" -gt 0 ]; then' >> /tmp/autologin.sh echo ' wget -O /dev/null "http://172.168.1.1/CheckVali