mod_vm_accordion

Тема в разделе "Модули Joomla для Virtuemart", создана пользователем takes, 23.08.2010.

  1. Offline

    takes Недавно здесь

    Регистрация:
    18.08.2010
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Помогите с этим модулем, дело в том что я перековырял весь php код и всё отлично настроил в нём, дело в том что есть 1 проблема с ним я хочу чтобы не при наведение на следующий пункт меню сворачивалось, а при удаление курсора с его области, то есть убрал мышку и оно свернулось, парамент mouseout не помогает mouseleave тоже..
    Вот ссылка на сам модуль http://alex-kurteev.ru/index.php?option=com_mtree&task=att_download&link_id=420&cf_id=30
    вот мой mod_vm_accordion.php
    Код (CODE):
    1. <?
    2.  
    3. /*
    4.  
    5. // Author: Nick Son
    6.  
    7. // Email: nicksonpro@gmail.com
    8.  
    9. // Website: www.joomdesign.net - - www.dungson.com
    10.  
    11. */
    12.  
    13. defined('_JEXEC') or die('Restricted access');
    14.  
    15. $LiveSite = JURI::base();
    16.  
    17. ?>
    18.  
    19.  
    20.  
    21. <style>
    22.  
    23.  
    24.  
    25. .leftmenu li ul li{list-style:none;}
    26.  
    27. .leftmenu li ul li a{font-family:arial; font-size:11px; text-decoration:none; text-align:left; list-style:none; line-height:25px; padding-left:10px;}
    28.  
    29.  
    30.  
    31. .leftmenu li ul li a:hover{font-family:arial; font-size:11px; color:#000000;  text-decoration:underline; text-align:left; list-style:none; line-height:25px; padding-left:10px;}
    32.  
    33.  
    34.  
    35.  
    36.  
    37. .accordionButton {
    38.     padding: 2px 4px;
    39.     cursor: pointer;
    40.     position: relative;
    41.     margin:0px;
    42.     font-weight:bolder;
    43.     color:#000;
    44.     border-bottom:5px groove #999999;
    45. }
    46.  
    47. .accordionButton a{
    48.  
    49.     font-size:10pt;
    50.  
    51.     color:#000000;
    52.  
    53. }
    54.  
    55. .accordionContent a{
    56.     display:block;
    57.     color:#000000;
    58.     padding-left:2px;
    59.     text-decoration:none;
    60.     font-size:10pt;
    61. }
    62.  
    63. .accordionContent a:hover{
    64.  
    65.   color: #000000;
    66.  
    67.   text-decoration:underline;
    68.  
    69.   }
    70.  
    71. </style>
    72.  
    73.  
    74.  
    75. <?php
    76.  
    77.  
    78.  
    79.  
    80.  
    81.   function get_cat($catID){
    82.  
    83.        
    84.  
    85.             $database =& JFactory::getDBO();
    86.  
    87.              
    88.  
    89.             $fetchCatQuery = "SELECT * FROM `#__vm_category` WHERE category_id = ".$catID;
    90.  
    91.            
    92.  
    93.             $database->setQuery( $fetchCatQuery );
    94.  
    95.             $fetchCatRow = $database -> loadObjectList();  
    96.  
    97.             return $fetchCatRow;
    98.  
    99. }
    100.  
    101.        
    102.  
    103. function recursiveCat($catID) {
    104.  
    105.        
    106.  
    107.             $database =& JFactory::getDBO();
    108.  
    109.              
    110.  
    111.             $fetchChildCat = "SELECT category_child_id FROM `#__vm_category_xref` WHERE category_parent_id = ".$catID;
    112.  
    113.            
    114.  
    115.             $database->setQuery( $fetchChildCat);
    116.  
    117.             $fetchChildCatRows = $database -> loadObjectList();
    118.  
    119.            
    120.  
    121.             if (count($fetchChildCatRows)>0) {
    122.  
    123.            
    124.  
    125.                 unset($childCatInfo);
    126.  
    127.                
    128.  
    129.                 echo "<ul class='leftmenu' style='list-style-type: none; padding-left: 5px; padding-bottom: 0px;'>";
    130.  
    131.                     foreach ($fetchChildCatRows as $rows) {
    132.  
    133.                         echo "<li>";
    134.  
    135.                             $childCatInfo = get_cat($rows->category_child_id);
    136.  
    137.                             echo "<a href='./index.php?option=com_virtuemart&page=shop.browse&category_id=".$childCatInfo[0]->category_id."'>";
    138.  
    139.                             echo $childCatInfo[0]->category_name;
    140.  
    141.                             echo "</a>";
    142.  
    143.                             recursiveCat($rows->category_child_id);
    144.  
    145.                          
    146.  
    147.                         echo "</li>";
    148.  
    149.                     }
    150.  
    151.                 echo "</ul>";
    152.  
    153.                
    154.  
    155.             }
    156.  
    157.             return;
    158.  
    159. }
    160.  
    161.        
    162.  
    163. function category_tree($catType=1) {
    164.  
    165.             global $database;
    166.  
    167.             $database =& JFactory::getDBO();
    168.  
    169.            
    170.  
    171.             if ($catType == 1)
    172.  
    173.                 $fetchParentCat = "SELECT category_id, category_name FROM #__vm_category WHERE `category_name`='Men'";
    174.  
    175.             else
    176.  
    177.                 $fetchParentCat = "SELECT category_id, category_name FROM #__vm_category WHERE `category_name`='Women'";
    178.  
    179.             $database->setQuery( $fetchParentCat);
    180.  
    181.             $fetchParentCatRows = $database -> loadObjectList();
    182.  
    183.             foreach ($fetchParentCatRows as $fetchParentCatRowsInfo){
    184.  
    185.                 //echo "<p>".$fetchParentCatRowsInfo->category_id."</p>";
    186.  
    187.                 recursiveCat($fetchParentCatRowsInfo->category_id);
    188.  
    189.             }
    190.  
    191. }
    192.  
    193.  
    194.  
    195. function checkParCat($catID) {
    196.  
    197.             global $database;
    198.  
    199.             $database =& JFactory::getDBO();
    200.  
    201.             $fetchParentCat = "SELECT category_parent_id FROM `#__vm_category_xref` WHERE `category_child_id`=".$catID;
    202.  
    203.             $database->setQuery( $fetchParentCat);
    204.  
    205.             $fetchParentCatRows = $database -> loadObjectList();
    206.  
    207.            
    208.  
    209.             return $fetchParentCatRows[0]->category_parent_id;
    210.  
    211. }
    212.  
    213.  
    214.  
    215. function displayChildCat($catID){
    216.  
    217.             global $database;
    218.  
    219.             $database =& JFactory::getDBO();
    220.  
    221.            
    222.  
    223.             $fetchParentCat = "SELECT category_id, category_name FROM #__vm_category WHERE `category_id`=".$catID;
    224.  
    225.             $database->setQuery( $fetchParentCat);
    226.  
    227.             $fetchParentCatRows = $database -> loadObjectList();
    228.  
    229.             foreach ($fetchParentCatRows as $fetchParentCatRowsInfo){
    230.  
    231.                 recursiveCat($fetchParentCatRowsInfo->category_id);
    232.  
    233.             }
    234.  
    235. }
    236.  
    237. function category_list() {
    238.  
    239. ?>
    240.  
    241. <script type="text/javascript" src="<?php echo JURI::base(); ?>/modules/mod_vm_accordion/jquery.js"> </script>
    242.  
    243.           <script type="text/javascript">
    244.  
    245.          
    246.  
    247.  
    248.  
    249.             $(document).ready(function()
    250.  
    251.                     {
    252.  
    253.                    
    254.  
    255.                         $("div.accordionButton").click(function()
    256.  
    257.                         {
    258.  
    259.                             $(this).next("div.accordionContent").slideToggle(50).siblings("div.accordionContent").slideUp("slow");
    260.  
    261.                             $(this).siblings();
    262.  
    263.                         });
    264.  
    265.                         //slides the element with class "menu_body" when mouse is over the paragraph
    266.  
    267.                         $("div.accordionButton").mouseover(function()
    268.  
    269.                         {
    270.  
    271.                              $(this).next("div.accordionContent").slideDown(200).siblings("div.accordionContent").slideUp("slow");
    272.  
    273.                              $(this).siblings();
    274.  
    275.                         });
    276.  
    277.                     });
    278.  
    279.             </script>
    280.  
    281.  
    282.  
    283.  
    284.  
    285.  
    286.  
    287.  
    288.  
    289. <?php      
    290.  
    291. $doc =& JFactory::getDocument();
    292.  
    293. $script = 'if($===jQuery){jQuery.noConflict();}';
    294.  
    295. $doc->addScriptDeclaration($script);
    296.  
    297.  
    298.  
    299. global $database;
    300.  
    301.             unset($loop);
    302.  
    303.                        
    304.  
    305.             $database =& JFactory::getDBO();
    306.  
    307.             $fetchParentCat = "SELECT category_id, category_name FROM #__vm_category";
    308.  
    309.             $database->setQuery( $fetchParentCat);
    310.  
    311.             $fetchParentCatRows = $database -> loadObjectList();
    312.  
    313.            
    314.  
    315.             $loop=0;
    316.  
    317.             foreach ($fetchParentCatRows as $fetchParentCatRowsInfo){
    318.  
    319.                
    320.  
    321.                 if( checkParCat($fetchParentCatRowsInfo->category_id) == 0) {
    322.  
    323.                       $loop++;
    324.  
    325.                    
    326.  
    327.                       echo "<div class='accordionButton'>";
    328.  
    329.                         echo "<a href='./index.php?option=com_virtuemart&page=shop.browse&category_id=".$fetchParentCatRowsInfo->category_id."' style='text-decoration: none;'>".$fetchParentCatRowsInfo->category_name."</a>";
    330.  
    331.                       echo"</div>";
    332.  
    333.                       echo "<div id='accCont".$loop."' class='accordionContent' style='display: none;'>";
    334.  
    335.                            echo '<div class="left_top"></div>';
    336.  
    337.                                  echo '<div class="left_center" style="background:none; width:100%;">';
    338.  
    339.                               displayChildCat($fetchParentCatRowsInfo->category_id);
    340.  
    341.                            echo '</div>
    342.  
    343.                                        <div class="left_bottom"></div>';
    344.  
    345.                       echo "</div>";
    346.  
    347.                    
    348.  
    349.                 }      
    350.  
    351.              
    352.  
    353.             }
    354.  
    355.            
    356.  
    357.             ?>
    358.  
    359.             <script type="text/javascript">
    360.  
    361.                 //alert("<?php echo $loop ?>");
    362.  
    363.                 document.getElementById("accCont<?php echo $loop ?>").style.display = 'block';
    364.  
    365.             </script>
    366.  
    367.             <?php            
    368.  
    369.            
    370.  
    371. }
    372.  
    373. category_list();
    374.  
    375. ?>

    думаю нужно ковырять сам скрипт:
    Код (CODE):
    1. <script type="text/javascript" src="<?php echo JURI::base(); ?>/modules/mod_vm_accordion/jquery.js"> </script>
    2.  
    3.           <script type="text/javascript">
    4.  
    5.          
    6.  
    7.  
    8.  
    9.             $(document).ready(function()
    10.  
    11.                     {
    12.  
    13.                    
    14.  
    15.                         $("div.accordionButton").click(function()
    16.  
    17.                         {
    18.  
    19.                             $(this).next("div.accordionContent").slideToggle(50).siblings("div.accordionContent").slideUp("slow");
    20.  
    21.                             $(this).siblings();
    22.  
    23.                         });
    24.  
    25.                         //slides the element with class "menu_body" when mouse is over the paragraph
    26.  
    27.                         $("div.accordionButton").mouseover(function()
    28.  
    29.                         {
    30.  
    31.                              $(this).next("div.accordionContent").slideDown(200).siblings("div.accordionContent").slideUp("slow");
    32.  
    33.                              $(this).siblings();
    34.  
    35.                         });
    36.  
    37.                     });
    38.  
    39.             </script>
     
  2.  
  3. Offline

    Dimonyara Недавно здесь

    Регистрация:
    21.02.2011
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Помогите подправить модуль acordion.
    Дело в том, что на сайте необходимо постоянно развернутое меню

    И здесь появилась небольшая проблемка:
    При включении функции развернутое меню - слево от пунктов меню появляются какие-то маркеры.

    Помогите их убрать
     
    Последнее редактирование: 21.02.2011

Поделиться этой страницей

Загрузка...