PDA

Zobacz pełną wersję : Coś bardzo prostego do Tagów



MarcinUser
22-12-2011, 12:52
Witam,
Szczerze mówiąc jestem w miarę obyty z prowadzeniem stron www w formie bloga (newsy, wiadomości etc). Jednakże nigdy nie kumałem idei tagów. Z pewnością dzięki nim jest łatwiejsze pozycjonowanie jednak ich używanie przy redagowaniu jest dość... toporne. Przynajmniej ja tak uważam i prawdopodobnie się mylę :)
Proszę nie odsyłajcie mnie do googli żebym doczytał do czego służą tagi.
Przeważnie jak wygląda używanie/stosowanie tagów na stronach? Wydaje mi się że najodpowiedniej byłoby wybranie tagów/słów kluczowych z listy a jeśli ich nie ma to dodać słowo. Czy jest taki komponent gdzie nie trzeba ręcznie wpisywać? Wtedy jest problem z odmianami słów np imion itp.

Oprócz tego poszukuję komponentu (pewnie moduł), który będzie pokazywał podobne artykuły do aktualnie przeglądanego (na podstawie słów kluczowych). Chyba że są jakieś działajace na innej zasadzie?

Z góry dziękuję za każdą odpowiedź.

Pozdrawiam.

Bazyl
22-12-2011, 12:58
Witam,

K2

MarcinUser
22-12-2011, 13:10
A coś mniej ingerującego w stronę? W sensie coś "niewielkiego" bo K2 należy do potężnych narzędzi.

PeFik
22-12-2011, 18:18
A wystarczy czytać mnie na bieżąco; http://blog.elimu.pl/8437-tortags-darmowy-system-tagow-dla-joomla-1-7/

MarcinUser
22-12-2011, 21:28
TorTags nie daje możliwości wyboru tagów ze zbioru tagów więc jest trochę bezużyteczny jak dla mnie.

---------- Post dodany o 21:28 ---------- Poprzedni post był o 19:27 ----------

Ok przerobiłem sobie aby można było wybierać z listy wszystkich tagów lecz dopiero teraz zawuażylem, że chyba moduły "Podobne artykuły" nie będą działać.. :/

PeFik
22-12-2011, 21:48
jak to mówią -> coś za coś

MarcinUser
23-12-2011, 22:28
Na szczęście udało mi się zrobić automatyczne aktualizowanie standardowego pola słów kluczowych. Tak więc dzieki za pomoc.

Wesołych Świąt!

Bazyl
23-12-2011, 22:30
Może się podziel?

Opis możesz dodać na wiki

MarcinUser
24-12-2011, 19:26
Nie chce mi się teraz za bardzo zaznajamiać z wikipedią, dlatego poradnik dodam tutaj, i ktoś inny doda na wikipedię lub ja to kiedyś zrobię ;)
Zaczynamy:

Otwórz plik:
administrator/components/com_tortags/controller.php
Znajdź:
else {echo -3; }
Poniżej dodaj:
$query = $db->getQuery(true);
$query->select('`tid`');
$query->from('`#__tortags`');
$query->where('`item_id`='.$cid);
$db->setQuery($query);
$tagids = $db->loadResultArray();

$tids = implode(',', $tagids);

$query = $db->getQuery(true);
$query->select('`title`');
$query->from('`#__tortags_tags`');
$query->where('`id` IN ('.$tids.')');
$db->setQuery($query);
$taglists = $db->loadResultArray();

$list="";

foreach($taglists as $i)
{
$list .= $i . ', ';
}
$query = "UPDATE #__content SET metakey='$list' WHERE id='$cid' LIMIT 1";

$db->setQuery( $query );
$db->query();
Znajdź:
echo 1;
Poniżej dodaj (to samo co wyżej czyli):
$query = $db->getQuery(true);
$query->select('`tid`');
$query->from('`#__tortags`');
$query->where('`item_id`='.$cid);
$db->setQuery($query);
$tagids = $db->loadResultArray();

$tids = implode(',', $tagids);

$query = $db->getQuery(true);
$query->select('`title`');
$query->from('`#__tortags_tags`');
$query->where('`id` IN ('.$tids.')');
$db->setQuery($query);
$taglists = $db->loadResultArray();

$list="";

foreach($taglists as $i)
{
$list .= $i . ', ';
}

echo $list;
$query = "UPDATE #__content SET metakey='$list' WHERE id='$cid' LIMIT 1";


$db->setQuery( $query );
$db->query();

Otwórz plik:
plugins/system/tortags/tortags.php
Znajdź:
$return .= '<div class="tt_button"><div class="tt_end"><a href="javascript:void(0);" onclick="addTag();"><img src="'.$img_add.'"/>add tag</a></div></div>';
Zamień na:
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('`title`');
$query->from('`#__tortags_tags`');
$db->setQuery($query);
$taglists = $db->loadResultArray();

$return .= '<div>'; // taglists
$return .= "<select name = \"taglists\" style='float:left;'>";
$return .= "<option value = \"\"></option>";
foreach($taglists as $i)
{
$return .= '<option value = "' . $i . '" onclick="document.getElementById(\'ttnewtag\').value=this.v alue;">' . $i . '</option>';
}
$return .= '</select>';


$return .= '<input type="text" class="tt_inpval" id="ttnewtag" name="ttnewtag" value="" size="20" maxlength="70" />';
$return .= '<div class="tt_button"><div class="tt_end"><a href="javascript:void(0);" onclick="addTag();"><img src="'.$img_add.'"/>add tag</a></div></div>';
$return .= '</div>';

DONE.

Domyślnie, pod edytorem widoczne jest pole typu INPUT umożliwiające wpisanie taga oraz przycisk Dodaj Tag.
Dzięki modyfikacji obok przycisku Dodaj Tag widoczna będzie lista rozwijana ze wszystkimi tagami w bazie danych. Po wybraniu taga z listy, zostaje on przekopiowany do pola INPUT. Jeśli poszukiwanego taga nie ma na liście to wpisujemy własny.

Po dodaniu taga lub jego usunięciu, z bazy danych pobierana jest lista tagów edytowanego artykułu, która jest zapisywana jako standardowe słowa kluczowe (Metakey) Joomli.

Przykład:
Jeśli do artykułu przypisane są tagi o nazwach:

dom, jajo, kura, wiosna
to po usunięciu taga "jajo", słowa kluczowe (Metakey) będą prezentować się następująco:

dom, kura, wiosna
Analogicznie dzieje się po dodaniu taga.

Jednak jest pewien haczyk. O ile po dodaniu taga, lista słów kluczowych jest aktualizowana, to po zapisaniu edytowanego artykułu, lista słów kluczowych jest ponownie aktualizowana. Czyli metakey pozostanie nie zmienione. Dzieje się tak ponieważ wbudowane pole tekstowe (w formularzu) ze słowami kluczowymi jest puste. Dlatego nie wolno zapisywać artykułu bezpośrednio po dodaniu tagu lub po prostu usunąć kod tego pola z szablonu (polecam to drugie).