Joomla 1.0 стоит BMPE 1.0.15 прикрутила модуль livesearch, выдает некорректные ссылки на товар

Тема в разделе "Магазины, электронная коммерция", создана пользователем Наталья, 17.03.2010.

  1. Offline

    Наталья Недавно здесь

    Регистрация:
    22.12.2007
    Сообщения:
    24
    Симпатии:
    0
    Пол:
    Женский
    Вот код модуля:
    Код (PHP):
    1. <?php
    2.  
    3. //we can access this file from everywhere: security issue?
    4. define( '_VALID_MOS', 1 );
    5.  
    6. //usual files:
    7. define( '_BASEPATH', dirname(__FILE__) );
    8. include_once( _BASEPATH.'/../../globals.php' );
    9. require_once( _BASEPATH.'/../../configuration.php' );
    10. require_once( _BASEPATH.'/../../includes/joomla.php' );
    11. require_once( _BASEPATH.'/../../includes/sef.php' );
    12.  
    13. global $database;
    14. global $mosConfig_offset;
    15.  
    16. //grab the virtuemart's itemid:
    17. $query="SELECT id FROM #__menu WHERE menutype='mainmenu' AND link='index.php?option=com_virtuemart'";
    18. $database->setQuery( $query );
    19. $itemid=$database->loadResult('id');
    20.  
    21.  
    22.  
    23. //charset definition(according to those of joomla):
    24. include_once( $mosConfig_absolute_path .'/language/' . $mosConfig_lang . '.php' );
    25. $iso = explode( '=', _ISO );
    26. header('Content-type: text/html; charset='. $iso[1]);
    27.  
    28. $keyword = $_POST["keyword"];
    29.  
    30. if(!empty($keyword))
    31. {
    32.     //the database request(don't hesitate to modify):
    33.     $query='SELECT DISTINCT * FROM jos_vm_product AS p'
    34.     . ' LEFT JOIN jos_vm_product_category_xref AS xcat ON xcat.product_id = p.product_id'
    35.     . ' LEFT JOIN jos_vm_product_price AS pp ON pp.product_id = p.product_id'
    36.     . ' LEFT JOIN jos_vm_category AS cat ON cat.category_id = xcat.category_id'
    37.     . ' LEFT JOIN jos_vm_product_files AS pf ON pp.product_id = pf.file_product_id'
    38.    
    39.     . ' WHERE ( product_publish=\'Y\' AND category_publish=\'Y\' ) '
    40.    
    41.     . ' AND ( product_name LIKE \'%'.$keyword.'%\' '
    42.     . ' OR product_sku LIKE \'%'.$keyword.'%\' '
    43.     . ' OR product_url LIKE \'%'.$keyword.'%\' ' //date
    44.     . ' OR product_s_desc LIKE \'%'.$keyword.'%\' '
    45.     . ' OR product_desc LIKE \'%'.$keyword.'%\' '
    46.     . ' OR file_title LIKE \'%'.$keyword.'%\' '
    47.    
    48.     . ' OR category_name LIKE \'%'.$keyword.'%\' '
    49.     . ' OR category_description LIKE \'%'.$keyword.'%\' '
    50.    
    51.     . ' ) '
    52.    
    53.    
    54.     . ' GROUP BY product_name'
    55.     . ' ORDER BY category_name'
    56.    
    57.     . ' LIMIT 0 , '.$_POST["limit"];
    58.    
    59.     $database->setQuery( $query );
    60.     $resultats = $database->loadObjectList();
    61.  
    62.  
    63.   if (!empty($resultats)) {
    64.         echo "\n<ul>";
    65.         foreach ($resultats as $resultat) {
    66.             echo '<li>'.'<a href="'.sefRelToAbs("index.php?page=shop.product_details&flypage=shop.flypage&product_id=".$resultat->product_id."&category_id=".$resultat->category_id."&manufacturer_id=0&option=com_virtuemart&Itemid=".$itemid).'">'.$resultat->product_name.'</a></li>';
    67.         }
    68.         echo "\n</ul>";
    69.   }
    70.   else {
    71.     echo 'ничего не найдено';
    72.   }
    73. }
    74. ?>


    Данный модуль ищет товар по вводимым буквам, и генерит список ссылок. Так вот, ссылки он генерит не правильные:
    http://grand-catalog.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=&category_id=5&option=com_virtuemart&Itemid=2
    а нужно:
    http://grand-catalog.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=20&category_id=5&manufacturer_id=0&option=com_virtuemart&Itemid=2

    Тоесть он не генерит product_id, и там в коде вообще не предусмотрено выхватывать из базы manufacturer_id

    Я не сильна в программировании, подскажите плиз, как подправить код, что бы ссылки были рабочие!!!
     
  2.  

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

Загрузка...