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

PRammer

  • Захожу иногда
  • 119
  • 0 / 0
Доброго времени суток!

Есть сайт фото галереи, где нужно внедрить поиск, который будет искать только по заголовку новости и выводить вводную часть, где отображается собственно заголовок и картинка - preview.
Стандартный поиск Joomla 2.5 + расширенный не справляются с данной задачей и выводят ненужную белиберду из основной части контента материала... да еще и в кодовом виде... <img src="blablabla.jpg" style="...">...
Подскажите, как можно модифицировать стандартный поиск (какие переменные и где менять?)
Если же проще донести, чего мне надо - поиск как на DLE, только урезанный.

P.S. Проанализировал и перепробовал большинство модулей и плагинов как с сайта http://extensions.joomla.org/ так и от поисковиков (Яндекс в отличии от Google не активно индексирует все картинки)
*

OmniWizard

  • Захожу иногда
  • 51
  • 3 / 0
Re: Поиск в фотогалереи Joomla 2.5
« Ответ #1 : 10.12.2013, 12:32:41 »
Проще сделать свой модуль с таки поиском!
Ух, я тебе сейчас насоветую)).. у меня уже 3 дня опыта в php

Как это пример сделать: качашь пустой модуль: Внутри находишь папку tmpl-> в default.php (это как раз и есть основное тело модуля которое он отображает)

в нем создаешь форму запроса->
<form action="index.php" method="post" enctype="multipart/form-data" >
<input type="text" name="search" то что будет отсылаться постом, например то что ты хочешь найти в базе данных />
<button type="submit">Поиск</button></div>
</form>
Дальше нам надо выловить Post который послали кнопочкой Поиск ->

$search = JRequest::getVar('search' тут также можно определить тип данных которые ты вылавливаешь);
и так после посыла мы в переменную $search поймали строку

Дальше определяем наш запрос в базу данных в форме отдельной функции->

function getBase($search){
$db =& JFactory::getDBO();- иницилизируем БД
$stroka_zaprosa ='';- создаем строку запроса
if ($search!= ''''){
    $stroka_zaprosa =  "WHERE `тут название поля заголовка новостей`='".$search."'.
}
$query = "SELECT * FROM news".$stroka_zaprosa; <- тут делаем поиск заголовка   
$db -> setQuery($query);
$records = $db->loadObjectList();
return $records;  <- тут он возвращает все объекты с таким названием, возможно применять LIKE в поиске по MySQL в таких вопросах тут уже Google поможет
}

далее осталось дело за малым заполучить наш запрос и разобрать ))

$records = getBase($search);
foreach($records as $record)
{
echo $record->Title;

..... а вот тут по идеи надо вывести твои картинку, значит набираешь как в PHP забрать часть текста, в питоне это функция re. И вот после того как ты найдешь как выбрать картинку ты ее тут выведешь.
}

Проще некуда)))
Чтобы что-то делать хорошо, сначала нужно научиться это делать плохо !
*

PRammer

  • Захожу иногда
  • 119
  • 0 / 0
Re: Поиск в фотогалереи Joomla 2.5
« Ответ #2 : 10.12.2013, 18:36:37 »
Проще сделать свой модуль с таки поиском!
Ух, я тебе сейчас насоветую)).. у меня уже 3 дня опыта в php

Как это пример сделать: качашь пустой модуль: Внутри находишь папку tmpl-> в default.php (это как раз и есть основное тело модуля которое он отображает)

в нем создаешь форму запроса->
<form action="index.php" method="post" enctype="multipart/form-data" >
<input type="text" name="search" то что будет отсылаться постом, например то что ты хочешь найти в базе данных />
<button type="submit">Поиск</button></div>
</form>
Дальше нам надо выловить Post который послали кнопочкой Поиск ->

$search = JRequest::getVar('search' тут также можно определить тип данных которые ты вылавливаешь);
и так после посыла мы в переменную $search поймали строку

Дальше определяем наш запрос в базу данных в форме отдельной функции->

function getBase($search){
$db =& JFactory::getDBO();- иницилизируем БД
$stroka_zaprosa ='';- создаем строку запроса
if ($search!= ''''){
    $stroka_zaprosa =  "WHERE `тут название поля заголовка новостей`='".$search."'.
}
$query = "SELECT * FROM news".$stroka_zaprosa; <- тут делаем поиск заголовка   
$db -> setQuery($query);
$records = $db->loadObjectList();
return $records;  <- тут он возвращает все объекты с таким названием, возможно применять LIKE в поиске по MySQL в таких вопросах тут уже Google поможет
}

далее осталось дело за малым заполучить наш запрос и разобрать ))

$records = getBase($search);
foreach($records as $record)
{
echo $record->Title;

..... а вот тут по идеи надо вывести твои картинку, значит набираешь как в PHP забрать часть текста, в питоне это функция re. И вот после того как ты найдешь как выбрать картинку ты ее тут выведешь.
}

Проще некуда)))


Ого! Во выдал :), а может можно как-то модифицировать стандартный поиск?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как закрыть от посещения страницу регистрации Joomla?

Автор Csandr

Ответов: 8
Просмотров: 1667
Последний ответ 08.02.2019, 16:17:10
от sergkh
Не открывается сайт на Joomla 2.5

Автор Bandicoot

Ответов: 28
Просмотров: 4801
Последний ответ 13.01.2019, 15:57:52
от amto
Joomla 1.5

Автор Димьяна

Ответов: 12
Просмотров: 935
Последний ответ 26.11.2018, 13:47:54
от beliyadm
Как организовать электронный журнал учета на Joomla 2.5?

Автор vitosbbc

Ответов: 1
Просмотров: 492
Последний ответ 29.10.2018, 11:37:36
от vitosbbc
[FAQ] Joomla 2.5 - проверка на главную страницу

Автор fedragon

Ответов: 68
Просмотров: 54701
Последний ответ 26.09.2018, 10:23:03
от intcorp