| แก้ปัญหา Javascript Error Object doesn't support this property or method ที่หน้าเพิ่ม-แก้ไขสินค้า ของ jshopping เมื่อใช้ IE7 ปัญหาเกิดจาก joomla.html.pane ที่ทำหน้าที่สร้าง javascript โดยใช้โค้ด $pane =& JPane::getInstance('Tabs'); echo $pane->startPane('productPane'); ... echo $pane->endPane(); เพื่อแบ่งข้อมูลเป็น tab ซึ่งมีปัญหากับ code ของ jshopping ทำให้ tab panel ไม่สามารถแสดงเป็น panel ดังรูป แก้ปัญหานี้โดยทำ tab panel ขึ้นมาเองโดยไม่ได้ใช้ JPane ของ Joomla แก้ไขไฟล์ administrator\components\com_jshopping\views\product_edit\tmpl\default.php ตามนี้ <?php $row = $this->product; $lists = $this->lists; $tax_value = $this->tax_value; $jshopConfig = &JSFactory::getConfig(); $currency = $this->currency; $document = &JFactory::getDocument(); $document->addScript( 'components/com_jshopping/js/SpryAssets/SpryTabbedPanels.js' ); $document->addStyleSheet('components/com_jshopping/js/SpryAssets/SpryTabbedPanels.css'); JHTML::_('behavior.tooltip'); // jimport('joomla.html.pane'); // JHTML::_('behavior.modal', 'a.modal'); ?> <script type="text/javascript">var lang_delete = "<?php print _JSHOP_DELETE; ?>";</script> <form action = "index.php?option=com_jshopping&controller=products" method = "post" enctype = "multipart/form-data" name = "adminForm"> <div id="TabbedPanels1"> <ul> <li tabindex="0">Description</li> <li tabindex="0">Details</li> <?php if ($jshopConfig->admin_show_attributes) { ?> <li tabindex="0">Attributes</li> <?php } ?> <?php if ($jshopConfig->admin_show_freeattributes) { ?> <li tabindex="0">Free Attributes</li> <?php } ?> <li tabindex="0">Images</li> <?php if ($jshopConfig->admin_show_product_video) { ?> <li tabindex="0">Video</li> <?php } ?> <?php if ($jshopConfig->admin_show_product_related) { ?> <li tabindex="0">Related Product</li> <?php } ?> <?php if ($jshopConfig->admin_show_product_files) { ?> <li tabindex="0">Files</li> <?php } ?> <?php if ($jshopConfig->admin_show_product_extra_field) { ?> <li tabindex="0">Extra field</li> <?php } ?> </ul> <div> <div> <?php include(dirname(__FILE__)."/description.php"); ?> </div> <div> <?php include(dirname(__FILE__)."/info.php"); JPluginHelper::importPlugin('jshoppingadmin'); $dispatcher =& JDispatcher::getInstance(); $dispatcher->trigger( 'onDisplayProductEditTabs', array(&$pane, &$row, &$list, &$tax_value, &$currency) ); ?> </div> <?php if ($jshopConfig->admin_show_attributes) { ?> <div> <?php include(dirname(__FILE__)."/attribute.php"); ?> </div> <?php } ?> <?php if ($jshopConfig->admin_show_freeattributes) { ?> <div> <?php include(dirname(__FILE__)."/freeattribute.php"); ?> </div> <?php } ?> <div> <?php include(dirname(__FILE__)."/images.php"); ?> </div> <?php if ($jshopConfig->admin_show_product_video) { ?> <div> <?php include(dirname(__FILE__)."/videos.php"); ?> </div> <?php } ?> <?php if ($jshopConfig->admin_show_product_related) { ?> <?php include(dirname(__FILE__)."/related.php"); ?> <?php } ?> <?php if ($jshopConfig->admin_show_product_files) { ?> <div> <?php include(dirname(__FILE__)."/files.php"); ?> </div> <?php } ?> <?php if ($jshopConfig->admin_show_product_extra_field) { ?> <div> <?php include(dirname(__FILE__)."/extrafields.php"); ?> </div> <?php } ?> </div> <?php // $pane =& JPane::getInstance('Tabs'); // echo $pane->startPane('productPane'); // include(dirname(__FILE__)."/description.php"); // include(dirname(__FILE__)."/info.php"); // JPluginHelper::importPlugin('jshoppingadmin'); // $dispatcher =& JDispatcher::getInstance(); // $dispatcher->trigger( 'onDisplayProductEditTabs', array(&$pane, &$row, &$list, &$tax_value, &$currency) ); /* if ($jshopConfig->admin_show_attributes) { include(dirname(__FILE__)."/attribute.php"); } if ($jshopConfig->admin_show_freeattributes) { include(dirname(__FILE__)."/freeattribute.php"); } include(dirname(__FILE__)."/images.php"); if ($jshopConfig->admin_show_product_video) { include(dirname(__FILE__)."/videos.php"); } if ($jshopConfig->admin_show_product_related) { include(dirname(__FILE__)."/related.php"); } if ($jshopConfig->admin_show_product_files) { include(dirname(__FILE__)."/files.php"); } if ($jshopConfig->admin_show_product_extra_field) { include(dirname(__FILE__)."/extrafields.php"); } */ // echo $pane->endPane(); ?> <input type = "hidden" name = "task" value = "" /> <input type = "hidden" name = "current_cat" value = "<?php echo JRequest::getVar('current_cat', 0)?>" /> <input type = "hidden" name = "product_id" value = "<?php echo $row->product_id?>" /> </form> <script type="text/javascript"> <!-- var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1"); //--> </script> <script type = "text/javascript"> function submitbutton(pressbutton){ if (pressbutton == 'save' || pressbutton == 'apply'){ if (isEmpty($F_('product_width_image')) && isEmpty($F_('product_height_image'))){ alert ('<?php echo _JSHOP_WRITE_SIZE_BAD?>'); } else if ($_('category_id').selectedIndex == -1){ alert ('<?php echo _JSHOP_WRITE_SELECT_CATEGORY?>'); } else { submitform(pressbutton); } } else { submitform(pressbutton); } } function showHideAddPrice(){ $_('tr_add_price').style.display = ($_('product_is_add_price').checked) ? ('') : ('none'); } showHideAddPrice(); </script>โดยใช้ SpryAssets เป็น library เก็บไว้ใน administrator\components\com_jshopping\js\SpryAssets\*
|
เขียนโดย jshopping วันอาทิตย์ที่ 14 สิงหาคม 2011 เวลา 22:23 น.
, phpBB3, SMF, Joomla, Wordpress, CMS CRM
, JavaScript & Jquery Ajax
, SQL - Database
, ถาม - ตอบ คอมพิวเตอร์
, PHP Knowledge
, PHP News
, HTML CSS
, Free PHP Code Download script
, Web Hosting Review - Free Host Share Host VPS