PDA

Zobacz pełną wersję : Joomla 1.7... Problem z wyszukiwaniem i sortowaniem na stronie



stozu
09-12-2011, 23:32
Witam,
Mam dwa problemy:
1) W przypadku wyszukiwania (dodatkowy moduł) występuje błąd 500 i dziwny adres w pasku (np. tu można to sprawdzić: http://hardturning.pl/ksiegarnia-helion.html?view=kategoria&id=13)
2) W przypadku próby segregacji według tytułu,daty odwiedzin tip. wyskakuje błąd 404 i bardzo dziwny adres strony w pasku (np. tu można to sprawdzić: http://hardturning.pl/kalendarium-wydarzenia.html)

W środku linków dorzucane jest coś takiego: <a href='http://www.hardturning.pl' title='http://www.hardturning.pl'>http://hardturning.pl</a> i nie wiem skąd się to tam bierze.

Czy ktoś wie jak to rozwiązać?

Proszę o pomoc.

nikszal
09-12-2011, 23:52
1) W przypadku wyszukiwania (dodatkowy moduł) występuje błąd 500 i dziwny adres w pasku (np. tu można to sprawdzić:

Dodatkowy moduł...
Podejrzałem kod


class="helion_wyszukiwarka"><form action="<a href='http://www.hardturning.pl' title='http://www.hardturning.pl'>http://hardturning.pl</a>/ksiegarnia-helion.html" method="get"> <input type="hidden" name="view" value="szukaj" />

Czy aby sam nieświadomie nie namieszałeś sobie w tej szukajce?

stozu
10-12-2011, 12:04
Nie, nie grzebałem.
W pliku modułu default.php jest coś takiego, czy ten fragment jest odpowiedzialny za to?

<?php
if(empty($fraza)) { ?>
<h1>Księgarnia - Wyszukiwarka</h1>
<p>Nie wpisano żadnej frazy. Aby wyszukać książki, skorzystaj z wyszukiwarki obok.</p>
<div class="helion_wyszukiwarka">
<form action="<?php echo JURI::current(); ?>" method="get">
<input type="hidden" name="view" value="szukaj" />
<input type="text" name="fraza" value="<?php echo !empty($fraza) ? $fraza : 'wyszukaj...'; ?>" onclick="this.value = '';"/>
<input type="submit" value="Szukaj" />
</form>
</div>
<div class="wyszukiwarka_clear"></div>
<?php return false; }

$db =& JFactory::getDBO();

?>
<h1>Księgarnia - Wyszukano frazę: <em>"<?php echo $fraza; ?>"</em></h1>
<div class="helion_wyszukiwarka">
<form action="<?php echo JURI::current(); ?>" method="get">
<input type="hidden" name="view" value="szukaj" />
<input type="text" name="fraza" value="<?php echo !empty($fraza) ? $fraza : 'wyszukaj...'; ?>" onclick="this.value = '';"/>
<input type="submit" value="Szukaj" />
</form>
</div>
<div class="wyszukiwarka_clear"></div>


Gdzie szukać?


Cały plik wygląda tak:
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$fraza = JRequest::getString('fraza');

?>
<style type="text/css">
.helion_kategorie {
display: inline;
padding-left: 0px !important;
list-style-type: square;
}

.helion_kategorie li {
display: inline;
margin-right: 10px !important;
}

.helion_ksiazka {
border-bottom: 1px solid #ddd;
width: 90%;
margin-bottom: 10px;
padding: 10px;
clear: both;
}

.ksiazka_info {
width: 500px;
float: right;
}

.helion_wyszukiwarka {
width: 260px;
float: right;
}

.helion_wyszukiwarka input[type=text] {
width: 150px;
padding: 2px;
border: 1px solid #ddd;
}
.wyszukiwarka_clear {
clear: both;
}
</style>
<?php
if(empty($fraza)) { ?>
<h1>Księgarnia - Wyszukiwarka</h1>
<p>Nie wpisano żadnej frazy. Aby wyszukać książki, skorzystaj z wyszukiwarki obok.</p>
<div class="helion_wyszukiwarka">
<form action="<?php echo JURI::current(); ?>" method="get">
<input type="hidden" name="view" value="szukaj" />
<input type="text" name="fraza" value="<?php echo !empty($fraza) ? $fraza : 'wyszukaj...'; ?>" onclick="this.value = '';"/>
<input type="submit" value="Szukaj" />
</form>
</div>
<div class="wyszukiwarka_clear"></div>
<?php return false; }

$db =& JFactory::getDBO();

?>
<h1>Księgarnia - Wyszukano frazę: <em>"<?php echo $fraza; ?>"</em></h1>
<div class="helion_wyszukiwarka">
<form action="<?php echo JURI::current(); ?>" method="get">
<input type="hidden" name="view" value="szukaj" />
<input type="text" name="fraza" value="<?php echo !empty($fraza) ? $fraza : 'wyszukaj...'; ?>" onclick="this.value = '';"/>
<input type="submit" value="Szukaj" />
</form>
</div>
<div class="wyszukiwarka_clear"></div>
<?php
$cyfra = "40";

$query = "SELECT value FROM #__helion_config WHERE meta = 'ksiegarnia'";
$db->setQuery($query);
$ksiegarnia = $db->loadResult();

$query = "SELECT value FROM #__helion_config WHERE meta = 'partner_id'";
$db->setQuery($query);
$partner_id = $db->loadResult();

$query = "SELECT * FROM #__helion WHERE ksiegarnia = '" . $ksiegarnia . "' AND (ident LIKE '%" . $fraza . "%'
OR tytul LIKE '%" . $fraza . "%'
OR opis LIKE '%" . $fraza . "%'
OR autor LIKE '%" . $fraza . "%' )
AND cena IS NOT NULL AND opis IS NOT NULL AND cenadetaliczna IS NOT NULL AND status != '0' AND status != '2' ORDER BY bestseller DESC LIMIT 50";
$db->setQuery($query);
$result = $db->loadAssocList();

$wynikow = count($result);

if($wynikow == 1) {
echo '<p>Znaleziono <strong>1</strong> książkę pasującą do zapytania:</p>';
} else if($wynikow == 2 || $wynikow == 3 || $wynikow == 4) {
echo '<p>Znaleziono <strong>' . $wynikow . '</strong> książki pasujące do zapytania:</p>';
} else if($wynikow >= 5 && $wynikow < 50) {
echo '<p>Znaleziono <strong>' . $wynikow . '</strong> książek pasujących do zapytania:</p>';
} else if ($wynikow >= 50) {
echo '<p>Znaleziono <strong>50+</strong> książek pasujących do zapytania:</p>';
} else {
echo '<p>Nie znaleziono żadnych książek pasujących do zapytania.</p>';
return false;
}

foreach($result as $ksiazka) {
$url = JURI::current() . "?view=ksiazka&ident=" . $ksiazka['ident'] . "&ksiegarnia=" . $ksiazka['ksiegarnia'];
$koszyk = "http://" . $ksiazka['ksiegarnia'] . ".pl/add/" . $partner_id . "/" . $cyfra . "/" . $ksiazka['ident'];
?>
<div class="helion_ksiazka">
<a href="<?php echo $url; ?>"><img src="http://helion.pl/okladki/125x163/<?php echo $ksiazka['ident']; ?>.jpg" height="163" width="125"/></a>
<div class="ksiazka_info">
<h3><a href="<?php echo $url; ?>"><?php echo $ksiazka['tytul']; ?></a></h3>
<p class="autor">Autor: <?php echo $ksiazka['autor']; ?></p>
<p>
<span class="cena">Cena: <?php echo $ksiazka['cena']; ?> zł</span>
<?php if($ksiazka['znizka'] > 0) echo ' <span class="znizka">(-' . $ksiazka['znizka'] . "%)</span>"; ?>
</p>
<p class="kupteraz"><a href="<?php echo $koszyk; ?>" target="_blank"><img src="http://helion.pl/img/koszyk/koszszary.jpg"/></a></p>
</div>
</div>
<?php
}
?>

<p><a href="<?php echo JURI::current(); ?>">Powrót do strony głównej księgarni</a></p>

<?php
$query = "SELECT value FROM #__helion_config WHERE meta = 'kategorie_w_tresci'";
$db->setQuery($query);
$kategorie_w_tresci = $db->loadResult();

if($kategorie_w_tresci) {
$query = "SELECT value FROM #__helion_config WHERE meta = " . $db->quote($ksiegarnia . '_kategorie') . ";";
$db->setQuery($query);
$kategorie = $db->loadResult();
$kategorie = unserialize($kategorie);

if(!empty($kategorie)) {
$nadrzedne = $kategorie['nad'];

echo '<ul class="helion_kategorie"><li>Kategorie:</li>';

foreach($nadrzedne as $id => $nazwa) {
echo '<li><a href="' . JURI::current() . "?view=kategoria&id=" . $id . '">' . $nazwa . '</a></li>';
}

echo '<li><a href="' . JURI::current() . "?view=nowosci" . '">Nowości</a></li>';
echo '<li><a href="' . JURI::current() . "?view=bestsellery" . '">Bestsellery</a></li>';
echo '</ul>';
} else {
echo '<p>Dane dotyczące kategorii nie są dostępne. </p>';
}
}
?>

nikszal
10-12-2011, 12:08
Skąd masz moduł szukajki, gdzie go zassałeś?
Zainstaluję go u siebie i potestuję.

stozu
10-12-2011, 12:17
Z programu partnerskiego helion.pl. Można się zarejestrować i z ich strony pobrać.
Z instalacją było trochę problemu, może to jest przyczyną.

http://program-partnerski.helion.pl/

Jest też osobny moduł wyszukiwarki, wyłączyłem go na stronie.

stozu
08-01-2012, 00:09
Ponawiam temat... Problem wciąż nierozwiązany.

nikszal
08-01-2012, 00:15
Informacja ze strony helion.pl


Jest to pierwsza wersja wtyczki (Feedback) przeznaczona do Joomla w wersji 1.7, dlatego może zawierać drobne błędy. Wszystkie uwagi, propozycje zmian prosimy kierować na nasze Forum Programu Partnerskiego.
Może te błędy wcale nie są takie drobne?

stozu
08-01-2012, 01:26
Problem występuje także tutaj, lista artykułów, po kliknięciu np. segregacji po liczbie odsłon ->błąd i dziwny "adres" w pasku adresu strony.

http://hardturning.pl/kalendarium-wydarzenia.html

W kodzie nie doszukałem się błędów, może to "java" źle działa?

Ktoś ma pomysł?

Pozdrawiam

nikszal
08-01-2012, 02:01
Skryptów js masz na stronie o ho ho, począwszy od skryptów szablonu (framework) poprzez kilka w JCE MediaBox, jvgallery/jvgallery/js/slimbox.js, skrypt menu, jvslideshow.js, swfobject.js... Nie mam bladego pojęcia czy pomiędzy nimi nie ma konfliktów i dlaczego czasami strona ma "dziwne adresy".
Ja genaralnie nigdy niczego na zapas nie instaluję, a po pojedynczej instalacji (niezbędnie potrzebnej) zawsze sprawdzam działenie strony nim cokolwiek następnego zainstaluję. Teraz w Twoim przypadku można szukać igły w stogu siana, bo strona jest produkcyjna i w związku z tym grzebanie na żywym organizmie nie jest wskazane.

Skopiuj stronę ma serwer localny i zacznij ją testować od zmiany szablonu na jakiś prosty, standardowy. Następnie wyłączaj kolejne wodotryski i sprawdzaj działanie strony pod kątem dziwnych adresów aż dojdziesz do źródła problemu.

Patrząc na archiwum artykułów od lipca ub. roku przypuszczam, że początkowo korzystałes z wczesnej wersji Joomla 1.7 lun nawet 1.6. Być może w wyniku niezbyt pomyślnej aktualizacji wersji CMS-a generowane są błędy.