โดย Patipat » 23/07/2019 5:12 pm
ผมได้ทำ แสดงสินค้า โดยใช้ Combobox และใช้ Tag เก็บข้อมูล ID ครับ แต่ตอนนี้เก็บ ID ของสินค้าได้แล้ว พอผม Select ข้อมูลมา มันขึ้น Warning แล้วก็ข้อความยาว ๆตามภาพเลยครับ
- Selection_999(377).png (50.76 KiB) Viewed 1002 times
ส่วนตรงนี้โค้ดที่ แปลงจาก Combobox ให้เป็นเลขโดยมี , ขั้นครับ พอกด print_r ออกมาดูก็ได้ค่า 1,2,3,4 นะครับ พอนำไปใช้ มันเออเร่อคับ
โค้ด: เลือกทั้งหมด
$helper_newproduct = new ModShowProductNewItem();
$product_slisdershow = $params->get('selectids'); //ดึงข้อมูลจาก field
$setid = implode("," , $product_slisdershow); //แปลงจากอาเรย์ให้เป็นเลขแบบมีลูกน้ำขั้น เช่น 1,2,3,4
ส่วนตรงนี้โค้ด Select ข้อมูลสินค้าครับ
โค้ด: เลือกทั้งหมด
class ModShowProductNewItem
{
public function newItem($product_slisdershow)
{
$lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag();
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('a.category_id, b.product_id, b.image ,b.product_price,'.$db->qn('b.name_'.$lang_tag))
->from('#__mzc_products as b')
->where('a.product_id in ('.$setid.')') //ตัวแปรนี้ ที่แปลงค่ามาจาก Array ครับ
->leftJoin('#__mzc_products_to_categories AS a ON b.product_id = a.product_id')
->order('product_id DESC');
$db->setQuery($query,0,$product_slisdershow);
$items = $db ->loadAssocList();
return $items;
}
}
โค้ดตรงนี้ แสดงสินค้าครับ
โค้ด: เลือกทั้งหมด
<center>
<?php foreach ( $product_slisdershow as $product): ?>
<div>
<a href="<?php echo SEFLink('index.php?option=com_mooziicart&controller=product&task=view&category_id=' . $product['category_id'] . '&product_id=' . $product['product_id'], 1); ?>" >
<center>
<img src="<?php echo JUri::root() . 'components/com_mooziicart/files/img_products/' . $product['image'];>" width="100px" heigh="100px" title="
<?php echo $product['name_'.$lang_tag] ?>" alt="<?php echo $product['name_'.$lang_tag] ?>"></a>
<center>
<br>
<center> <?php echo ($product['name_'.$lang_tag]) ?><br></center>
<?php echo ($product['product_price']) ?> <br><br>
</div>
</center>
<?php endforeach; ?>
ผมได้ทำ แสดงสินค้า โดยใช้ Combobox และใช้ Tag เก็บข้อมูล ID ครับ แต่ตอนนี้เก็บ ID ของสินค้าได้แล้ว พอผม Select ข้อมูลมา มันขึ้น Warning แล้วก็ข้อความยาว ๆตามภาพเลยครับ
[attachment=0]Selection_999(377).png[/attachment]
ส่วนตรงนี้โค้ดที่ แปลงจาก Combobox ให้เป็นเลขโดยมี , ขั้นครับ พอกด print_r ออกมาดูก็ได้ค่า 1,2,3,4 นะครับ พอนำไปใช้ มันเออเร่อคับ
[code=php]$helper_newproduct = new ModShowProductNewItem();
$product_slisdershow = $params->get('selectids'); //ดึงข้อมูลจาก field
$setid = implode("," , $product_slisdershow); //แปลงจากอาเรย์ให้เป็นเลขแบบมีลูกน้ำขั้น เช่น 1,2,3,4
[/code]
ส่วนตรงนี้โค้ด Select ข้อมูลสินค้าครับ
[code=php]class ModShowProductNewItem
{
public function newItem($product_slisdershow)
{
$lang_tag = \Joomla\CMS\Factory::getLanguage()->getTag();
$db = Joomla\CMS\Factory::getDbo();
$query = $db ->getQuery(true)
->select('a.category_id, b.product_id, b.image ,b.product_price,'.$db->qn('b.name_'.$lang_tag))
->from('#__mzc_products as b')
->where('a.product_id in ('.$setid.')') //ตัวแปรนี้ ที่แปลงค่ามาจาก Array ครับ
->leftJoin('#__mzc_products_to_categories AS a ON b.product_id = a.product_id')
->order('product_id DESC');
$db->setQuery($query,0,$product_slisdershow);
$items = $db ->loadAssocList();
return $items;
}
} [/code]
โค้ดตรงนี้ แสดงสินค้าครับ
[code=php]
<center>
<?php foreach ( $product_slisdershow as $product): ?>
<div>
<a href="<?php echo SEFLink('index.php?option=com_mooziicart&controller=product&task=view&category_id=' . $product['category_id'] . '&product_id=' . $product['product_id'], 1); ?>" >
<center>
<img src="<?php echo JUri::root() . 'components/com_mooziicart/files/img_products/' . $product['image'];>" width="100px" heigh="100px" title="
<?php echo $product['name_'.$lang_tag] ?>" alt="<?php echo $product['name_'.$lang_tag] ?>"></a>
<center>
<br>
<center> <?php echo ($product['name_'.$lang_tag]) ?><br></center>
<?php echo ($product['product_price']) ?> <br><br>
</div>
</center>
<?php endforeach; ?>[/code]