0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 3640 Просмотров

Столкнулся с проблемой!
Мне нужно что бы в поиске jdownloads искал как по названию файла, так и по автору.
По названию ищет, а вот по автору... ни в какую...
Сделал вот такой запрос в БД
Код
if (!$searchauthor && $searchintext){
$database->setQuery("SELECT * FROM #__jdownloads_files WHERE 'author' LIKE '%$searchtext%' AND published = 1 ORDER BY date_added LIMIT $searchnumber");
}
и вывод результата
Код
<td class="jd_search_result_title" width="100%"><b>'._JLIST_FRONTEND_SEARCH_RESULT_TITLE.'</b><br />'
._JLIST_FRONTEND_SEARCH_RESULT_TITEL_AUTHOR.': <b>'.$searchauthor.'</b><br />'
</td>
В конечном итоге. По автору не ищет...
Подскажите плз, как сделать что бы работал поиск и вывод инфы.  !!!???!!!

Вот полный лист поиска
Код
function showSearchForm($option){
     global $Itemid, $jlistConfig, $my, $mainframe;
     
    $mainframe->setPageTitle( $jlistConfig['jd.header.title'].' - '._JLIST_FRONTEND_SEARCH_LINKTEXT );   
    $html_form = makeHeader($html_form, false, false, false, 0, false, true, false, false, false, 0, 0, 0, 0, 0);
    echo $html_form;
    $html_form = '';
   
    $html_form = '<form name="jdsearch" action="index.php?option=com_jdownloads&Itemid='.$Itemid.'&task=search.result" method="post">';
    $html_form .= '<table class="jd_div_content" border="0" cellpadding="0" cellspacing="5" width="99%">
        <tr><td><br /></td></tr>
        <tr>
            <td width="100" valign="middle">'._JLIST_FRONTEND_SEARCH_TEXT_TITLE.'
            </td>
            <td width="200" valign="middle">
                <input class="jd_inputbox" type="text" name="jdsearchtext" id="jdsearchtext" maxlength="80" size="30"  value=""> <input type="submit" name="searchsubmit" value="'._JLIST_FRONTEND_SEARCH_BUTTON_TEXT.'"/>
            </td>
        </tr>

        <tr>
            <td width="100" valign="middle">'._JLIST_FRONTEND_SEARCH_IN_TITLE.'
            </td>
            <td width="200">
                <input class="jd_inputbox" type="checkbox" name="jdsearchintitle" id="jdsearchintitle" value="1" checked="checked">
            </td>
        </tr>
        <tr>
           <td width="100" valign="middle">'._JLIST_FRONTEND_SEARCH_AUTHOR.'
            </td>
            <td width="200">
                <input class="jd_inputbox" type="checkbox" name="jdsearchauthor" id="jdsearchauthor" value="1" checked="checked">
            </td>
        </tr>
        <tr>
           <td width="100" valign="middle">'._JLIST_FRONTEND_SEARCH_NUMBERS.'
            </td>
            <td width="200">
                <input class="jd_inputbox" type="text" name="jdsearchnumber" id="jdsearchnumber" maxlength="3" size="3" value="30">
            </td>
        </tr>
        <tr><td><br /><br /></td></tr>
        </table>
        </form>';
       
    $html_form .= makeFooter(true, false, false, 0, 0, 0, 0);
   
    if ( !$jlistConfig['offline'] ) {
            echo $html_cat;
    } else {
            if ($my->gid == 2) {
                echo _JLIST_BACKEND_OFFLINE_ADMIN_MESSAGE_TEXT;
                echo $html_cat;
            } else {
                $html_off = '<br /><br />'.$jlistConfig['offline.text'].'<br /><br />';
                echo $html_off;
            }
    }
   
    echo $html_form;
    ?>
    <script type="text/Javascript" language="JavaScript">
    <!--
        document.getElementById("jdsearchtext").focus();
    -->
    </script>
    <?php
}   

function showSearchResult($option){
    global $database, $Itemid, $mosConfig_absolute_path, $jlistConfig, $mainframe;
   
    $mainframe->setPageTitle( $jlistConfig['jd.header.title'].' - '._JLIST_FRONTEND_SEARCH_RESULT_TITLE );   
    $html_form = makeHeader($html_form, false, false, false, 0, false, true, false, false, false, 0, 0, 0, 0, 0);

    $searchtext =    $database->getEscaped(mosGetParam($_POST, 'jdsearchtext', ''));
    $searchintitle = $database->getEscaped(mosGetParam($_POST, 'jdsearchintitle', ''));
    $searchintext =  $database->getEscaped(mosGetParam($_POST, 'jdsearchindesc', ''));
    $searchauthor =  $database->getEscaped (mosGetParam( $_POST, 'jdsearchauthor', '' ));
    $searchnumber =  intval($database->getEscaped(mosGetParam($_POST, 'jdsearchnumber', 30)));
    if (!$searchnumber) $searchnumber = 30;
   
    if (strlen($searchtext) < 3){
        echo "<script> alert('"._JLIST_FRONTEND_SEARCH_RESULT_TEXT_TO_SHORT."'); window.history.go(-1); </script>\n";   
    }   
    if (!$searchintitle && !$searchintext){
        echo "<script> alert('"._JLIST_FRONTEND_SEARCH_RESULT_NO_OPTION."'); window.history.go(-1); </script>\n";   
    }
   
    if ($searchintitle && $searchintext){
        $database->setQuery("SELECT * FROM #__jdownloads_files WHERE file_title LIKE '%$searchtext%' OR description LIKE '%$searchtext%' OR description_long LIKE '%$searchtext%' AND published = 1 ORDER BY date_added LIMIT $searchnumber");
    }
    if ($searchintitle && !$searchintext){
        $database->setQuery("SELECT * FROM #__jdownloads_files WHERE file_title LIKE '%$searchtext%' AND published = 1 ORDER BY date_added LIMIT $searchnumber");
    }
    if (!$searchintitle && $searchintext){
        $database->setQuery("SELECT * FROM #__jdownloads_files WHERE description LIKE '%$searchtext%' OR description_long LIKE '%$searchtext%' AND published = 1 ORDER BY date_added LIMIT $searchnumber");
    }
    if (!$searchauthor && $searchintext){
$database->setQuery("SELECT * FROM #__jdownloads_files WHERE author LIKE '$%searchtext%' OR description LIKE '%$searchtext%' OR description_long LIKE '%$searchtext%' AND published = 1 ORDER BY date_added LIMIT $searchnumber");
    }
    $files = $database->loadObjectList();
   
    if ($files) {
        // files gefunden   
        // cat der files holen und auf access beschrдnken
        $access = checkAccess_JD();       
        $output = array();
        foreach($files as $file) {
          if ($file->published) { 
            $database->setQuery("SELECT * FROM #__jdownloads_cats WHERE cat_id = '$file->cat_id'");
            $cat = $database->loadObjectList();
            if ($cat[0]->cat_access <= $access){
                $output[] = $file;
            }
          }     
        }   
        if ($output) {
            $files_found = true;
            // result header
            $html_form .= '<table class="jd_search_form" border="0" cellpadding="0" cellspacing="5" width="99%">
                  <tr>
                  <td class="jd_search_result_title" width="100%"><b>'._JLIST_FRONTEND_SEARCH_RESULT_TITLE.'</b><br />'
                  ._JLIST_FRONTEND_SEARCH_RESULT_SEARCH_TEXT.': <b>'.$searchtext.'</b><br />'
                  ._JLIST_FRONTEND_SEARCH_RESULT_AUTHOR.': <b>'.$searchauthor.'</b><br />'
                  ._JLIST_FRONTEND_SEARCH_RESULT_SUM_FILES.': <b>'.count($output).'</b></td>
                  </tr>
                  <tr>
                  </tr>';
                           
            foreach ($output as $out){
                // suchtext farblich hervorheben
                if ($searchintitle && $searchintext){
                    $out->description = eregi_replace($searchtext, '<font color="#CC3300">'.$searchtext.'</font>', $out->description);
                    $out->file_title = eregi_replace($searchtext, '<font color="#CC3300">'.$searchtext.'</font>', $out->file_title);
                }
                if ($searchintitle && !$searchintext){
                    $out->file_title = eregi_replace($searchtext, '<font color="#CC3300">'.$searchtext.'</font>', $out->file_title);
                }
                if (!$searchintitle && $searchintext){
                    $out->description = eregi_replace($searchtext, '<font color="#CC3300">'.$searchtext.'</font>', $out->description);

                }
if (!$searchauthor && $searchintext){
    $out->author = eregi_replace($searchtext, '<font color="#cc3300">'.$searchtext.'</font>', $out->author);
}
                $titel_link = sefRelToAbs('index.php?option='.$option.'&amp;Itemid='.$Itemid.'&amp;task=view.download&cid='.$out->file_id);
                $titel_link_text = '<a href="'.$titel_link.'">'.$out->file_title.'</a>';
$titel_link_author = '<a herf="'.$link_author.'">'.$out->author.'</a>';
                $detail_link_text = '<a href="'.$titel_link.'">'._JLIST_FE_DETAILS_LINK_TEXT_TO_DETAILS.'</a>';

               
                $html_form .= '<tr width="100%"><td class="jd_search_results"><b>'.$titel_link_text.' '.$out->author.' '.$out->release.'</b><br />'.substr($out->description, 0, 400).'...<br />'.$detail_link_text.'</td></tr>';   
            }   
            $html_form .= '</table>';
        } else {
            $files_found = false; 
        }   
    } else {
      $files_found = false; 
    }
    if (!$files_found) {
        // keine files gefunden - oder falsche berechtigung
        // result header
        $html_form .= '<table class="jd_search_form" border="0" cellpadding="0" cellspacing="5" width="99%">
                  <tr>
                  <td class="jd_search_result_title" width="100%"><b>'._JLIST_FRONTEND_SEARCH_RESULT_TITLE.'</b><br />'
                  ._JLIST_FRONTEND_SEARCH_RESULT_SEARCH_TEXT.': <b>'.$searchtext.'</b><br />'
                  ._JLIST_FRONTEND_SEARCH_RESULT_NO_SUM_FILES.'</td>
                  </tr>
                  <tr>
                  </tr></table>';
    }   
    $html_form .= makeFooter(true, false, false, 0, 0, 0, 0);
    echo $html_form;
}

//end of class
}

« Последнее редактирование: 02.04.2009, 17:29:55 от Rocklviv »
*

Melnikoff

  • Осваиваюсь на форуме
  • 42
  • 8 / 1
Я решил проблему путём использования searchbot для jdownloads (есть у них на сайте).

Надо подправить в нём запрос в базу, чтоб было вот так:

Код
  $query = "SELECT f.file_title AS title, f.description AS text, f.author AS text, f.description_long AS text, f.date_added AS created,"
    . " 'jdownloads' AS section,"
    . " CONCAT('index.php?option=com_jdownloads&Itemid=55&task=view.download&cid=',file_id) AS href,"
    . " '2' AS browsernav"
    . " FROM #__jdownloads_files AS f"
    . " WHERE ("
    . " f.file_title LIKE '%$text%' "
    . " OR f.author LIKE '%$text%' "
    . " OR f.description LIKE '%$text%' "
    . " OR f.description_long LIKE '%$text%' "
    . ")"
    ;
*

Mixedrom

  • Новичок
  • 5
  • 0 / 0
Я решил проблему путём использования searchbot для jdownloads (есть у них на сайте).
Что-то я не то делаю.
Нашел этот плагин, внес изменения которые тут привели, загрузил, включил и ... не могу найти его.
Не бейте ногами, я новичок.
Как с ним работать?
« Последнее редактирование: 27.05.2009, 21:27:59 от Mixedrom »
*

Melnikoff

  • Осваиваюсь на форуме
  • 42
  • 8 / 1
Достаточно его просто включить. Результаты его работы выдаются в одной куче с результатами обычного поиска. Т.е. когда используешь обычный поиск, автоматически подключается мамбот и ищет в базах jdownloads

Мамботы (плагины) отличаются от обычных модулей в частности практически полным отсутствием настроек. Они как бы сами работают, без стороннего вмешательства :)
*

Mixedrom

  • Новичок
  • 5
  • 0 / 0
Благодарю :)
*

llektor

  • Захожу иногда
  • 214
  • 2 / 2
Извините что не в тему,но уже не знаю что делать
Не подскажите как в JDownloads сделать что бы на странице было определенное количество категорий и подкатегорий например 8 а потом был переход на другую страницу категорий или подкатегорий,а то у меня их много и они все на одной странице находяться и страница растенулась,я предпалагаю что у меня на сайте еще будет более 500 категорий и подкатегорий и представляете если все 500 категорий будут на одной странице
Заранее благодарю
« Последнее редактирование: 26.04.2011, 21:08:39 от llektor »
*

apic

  • Новичок
  • 3
  • 0 / 0
Извините что не в тему,но уже не знаю что делать
Не подскажите как в JDownloads сделать что бы на странице было определенное количество категорий и подкатегорий например 8 а потом был переход на другую страницу категорий или подкатегорий
В конфигурации все настраивается...
Для этого тебе нужно зайти: Конфигурация -> Фронтэнд. Находишь ниже строку:  "Количество элементов на страницу" и выставляешь нужное значение.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

jDownloads загрузка файла только 1 раз

Автор lastgs

Ответов: 0
Просмотров: 1426
Последний ответ 11.03.2021, 07:19:35
от lastgs
Долго идет скачивание фаайла через компонент jdownloads

Автор dr.red

Ответов: 1
Просмотров: 1988
Последний ответ 05.07.2019, 16:44:13
от dr.red
После отключения JDownloads в админку не могу заходить

Автор sakha.rap

Ответов: 2
Просмотров: 2030
Последний ответ 10.03.2019, 16:12:51
от sakha.rap
Убрать версии файлов в модулях jDownloads Top и jDownloads Latest

Автор Татьяна5

Ответов: 1
Просмотров: 1914
Последний ответ 17.11.2018, 13:14:45
от Татьяна5
jDownloads и сетка бутстрап

Автор Biss

Ответов: 4
Просмотров: 2324
Последний ответ 30.11.2017, 11:36:14
от Biss