RSS

zapisz się: RSS Artykuły

szukaj

Indywidualne słowa kluczowe w meta tagach dla kategorii w sNews

Komentarze 2

Kod PHPDzisiaj omówię niewielką modyfikację dodającą nowe funkcje do naszego CMSa. Dzięki modyfikacjom będziemy w stanie dodawać indywidualne słowa kluczowe dla każdej kategorii oraz podkategorii. Są one widoczne w nagłówku strony w meta keywords. Domyślnie meta tagi w kategoriach są ustawione takie, jakie ustawiliśmy domyślne meta tagi w ustawieniach sNews. Autorem tego niewielkiego, ale jakże przydatnego moda jest Matt Jones.

Dobrze, w takim razie jedziemy z tematem. Najpierw należy dodać do bazy danych jedną linijkę (zobacz jak dodawać do bazy danych):

ALTER TABLE categories ADD keywords_m VARCHAR(255) AFTER description;

Następnie będziemy pracować na pliku "snews.php" dlatego dobrze byłoby zrobić jego kopię. Przechodzimy do rzeczy. Szukamy w sekcji "STARTUP" poniższego kodu i dodajemy zaznaczony fragment:

$R = mysql_fetch_assoc($Try_Article);
 	// query  for / category / article /
	if(empty($R)) {
		$MainQuery = 'SELECT
			c.id AS catID, c.name AS name, c.description, c.subcat,
			x.name AS xname,c.keywords_m as keywords_m
			FROM '._PRE.'categories'.' AS x

Następnie nieco niżej dodajemy podświetlony fragment:

// query  for category
	$R = mysql_fetch_assoc($Try_Page);
	if (!$R) {
		$MainQuery ='SELECT
				id AS catID, name, description, keywords_m
			FROM '._PRE.'categories'.' AS c

Kolejnym krokiem będzie dodanie zaznaczonej linijki nieco niżej:

if(!empty($R['keywords_meta'])) $_KEYW = $R['keywords_meta'];
 elseif(!empty($R['keywords_m'])) $_KEYW = $R['keywords_m'];

Teraz przejdziemy do funkcji "form_categories". Zmieniamy w nim na początek tak jak pokazano poniżej:

$frm_description = $r['description'];
		$frm_keywords = $r['keywords_m'];
		$frm_publish = $r['published'] == 'YES' ? 'ok' : '';

Następnie niżej dodajemy zaznaczoną linijkę:

echo html_input('text', 'description', 'desc', $frm_description, l('description'), '', '', '', '', '', '', '', '', '', '');
	echo html_input('text', 'keywords_m', 'keywords_m', $frm_keywords, l('a_keywords'), '', '', '', '', '', '', '', '', '', '');
	if (empty($sub_cat)) {

Przechodzimy do funkcji "processing". Szukamy poniższego fragmentu i dodajemy zaznaczoną linijkę kodu:

$keywords_meta = entity($_POST['keywords_meta']);
	$keywords_m = entity($_POST['keywords_m']);
  	$display_title = $_POST['display_title'] == 'on' ? 'YES' : 'NO';

Na koniec dodajemy zaznaczone fragmenty w poniższym kodzie:

case(isset($_POST['add_category'])):
$catorder = mysql_fetch_array(mysql_query(
	"SELECT MAX(catorder) as max
	FROM "._PRE.'categories'." WHERE subcat = $subcat"));
	$catorder = $catorder['max'] + 1;
	mysql_query("INSERT INTO "._PRE.'categories'."
      (name, seftitle, description, keywords_m, published, catorder, subcat)
      VALUES('$name', '$seftitle', '$description', '$keywords_m', '$publish_category', '$catorder','$subcat')");
		break;
	case(isset($_POST['edit_category'])):
	$catorder = mysql_fetch_array(mysql_query(
	"SELECT MAX(catorder) as max
	FROM "._PRE.'categories'." WHERE subcat = $subcat"));
	$catorder = isset($_POST['catorder']) ? $_POST['catorder'] : $catorder['max'] + 1;
	mysql_query("UPDATE "._PRE.'categories'." SET
	name = '$name',							seftitle = '$seftitle',							description = '$description',							keywords_m = '$keywords_m',
published = '$publish_category',						subcat='$subcat',						catorder='$catorder'
	WHERE id = $id LIMIT 1");

To wszystko. Po tych modyfikacjach podczas edycji i tworzenia kategorii bądź subkategorii powinno być dostępne nowe pole formularza, w którym definiujemy słowa kluczowe dla danych kategorii.

Podziel się

Bookmark and Share

  1. Andrzej
    Andrzej napisał(a):

    chba powinno być "meta" tagach ale cóż mogę się mylić.

  2. Paweł Landzberg
    Paweł Landzberg napisał(a):

    Racja, literówka. Poprawione.

Komentowanie zostało zablokowane