Różna nazwa strony i adres

DarkSilver

Avatar: DarkSilver

2010-04-09 21:29

Witam

Jeśli robię na stronę dział o nazwie np "Strona1" to w menu pojawia mi się nazwa "Strona1" oraz link do strony http://mojastrona/?pl_strona1,1

I tu rodzi się pytanie. Czy da się zrobić tak aby nazwa działu oraz nazwa w adresie strony były różne? Pytam dlatego ponieważ używam dla nazwy danego działu azjatyckich znaków a w adresie działu chce używać znaków tylko z łacińskiego alfabetu.

Pytam o to ponieważ wiele CMSów posiada opcję tak jak SEO, że możemy sobie dla danego działu ustawić Jego nazwę i jaki ma być do niego link. Np robimy dział o nazwie "Kartofle" a adres strony będzie http://mojastrona/ziemniaki.htm

Jeśli ktoś zna rozwiązanie to prosiłbym o odpowiedź.
Pozdrawiam

» Quick.Cms v2.x

Makaron

Avatar: Makaron

2010-04-12 08:53

Jest opcja SEO nawet w darmowej wersji Quick.Cart z tym, że nazwa stamtąd używana jest w meta znaczniku title, a nie w adresie. Nic nie stoi jednak na przeszkodzie, żeby tego pola używać do generowania linków wystarczy edytować plik core/pages.php i w funkcji generateCache() zmienić linię:

$this->aPages[$aExp[0]]['sLinkName'] = '?'.$sLanguageUrl.change2Url$this->aPages[$aExp[0]]['sName'] ).','.$aExp[0];


na:

$this->aPages[$aExp[0]]['sLinkName'] = '?'.$sLanguageUrl.change2Url$this->aPages[$aExp[0]]['sNameTitle'] ).','.$aExp[0];

Mak-Web.pl - Modyfikacje skryptów Q.Cart i Q.Cms

DarkSilver

Avatar: DarkSilver

2010-04-12 13:14

Tak, wiem że jest opcja SEO, jednak mi chodziło o dodatkowe pole gdzie można by było jeszcze ustawić adres strony. Co do ustawienia ['sNameTitle'], to jest to raczej chybiony pomysł ponieważ jeśli robię stronę np w języku rosyjskim czy japońskim czy jakimkolwiek innym który używa innej czcionki niż z alfabetu łacińskiego, to chcę żeby tytuł strony również pojawiał się w języku rosyjskim czy japońskim i zawierał czcionkę rosyjską czy japońską,

Można by było pomyśleć nad dodatkową opcja SEO, czyli również o ustawieniu sobie nazwy w linku. Którą można by było dodać w przyszłych wersjach.

Makaron

Avatar: Makaron

2010-04-12 13:36

Nie widzę przeciwwskazań. Dodaj jedno pole do bazy danych i go używaj w linii, którą podałem. Wychodziłem z założenia, że nie będziesz używał tego pola do nadawania tytułów podstronom i wtedy nadałoby się idealnie.

Mak-Web.pl - Modyfikacje skryptów Q.Cart i Q.Cms

DarkSilver

Avatar: DarkSilver

2010-04-12 22:43

A jak to zrobić? bo nie mam w tym zakresie wiedzy.

Makaron

Avatar: Makaron

2010-04-13 15:14

Hm.. Wpierw trzeba edytować plik db/pl_pages.def.php. Jeśli ten plik masz oryginalny to trzeba go zmienić na coś takiego:

<?php
$aFieldsNames   
= Array( 'iPage' => 0'iPageParent' => 1'sName' => 2'sNameTitle' => 3'sDescriptionShort' => 4'iStatus' => 5'iPosition' => 6'iType' => 7'iSubpagesShow' => 8'iProducts' => 9'sAddressName' => 10 );
$aFieldsSort    = Array( 'iPosition''sName''sNameTitle''iPage''iPageParent''sDescriptionShort''iStatus''iType''iSubpagesShow''iProducts''sAddressName' );

function 
pl_pages$aExp ){
  return Array( 
'iPage' => $aExp[0], 'iPageParent' => $aExp[1], 'sName' => $aExp[2], 'sNameTitle' => $aExp[3], 'sDescriptionShort' => $aExp[4], 'iStatus' => $aExp[5], 'iPosition' => $aExp[6], 'iType' => $aExp[7], 'iSubpagesShow' => $aExp[8], 'iProducts' => $aExp[9], 'sAddressName' => $aExp[10] );
}
?>



Następnie edytować plik db/pl_pages.php i do każdego rekordu dodać jeden znak: $

Ostatnim krokiem jest edycja pliku z szablonem: templates/admin/pages.php i dodanie w zakładce seo nowego pola input. Nowe pole w bazie danych nazywa sięs "AddressName", więc analogicznie do innych pól utwórz i takie.

Mak-Web.pl - Modyfikacje skryptów Q.Cart i Q.Cms

DarkSilver

Avatar: DarkSilver

2010-04-13 18:13

W którym miejscu dodać znak $ w pliku db/pl_pages.php?
początek mam taki:
<?php exit; ?>
1$0$News$ $$1$-1$2$2$0$

chyba chodziło o plik templates/admin/pages.tpl a nie o templates/admin/pages.php bo pliku pages.php nie ma w tym katalogu.

Makaron

Avatar: Makaron

2010-04-14 09:01

Ad1: Do każdego rekordu, czyli do każdego wpisu zakończonego enterem.

Ad2: Tak, oczywiście pages.tpl, błąd przy szybkim pisaniu.

Mak-Web.pl - Modyfikacje skryptów Q.Cart i Q.Cms

DarkSilver

Avatar: DarkSilver

2010-04-30 16:41

Witam

Mam pewien problem z wdrożeniem tych zmian. Mianowicie pojawia mi się komunikat błędu:

Fatal errorCall to undefined function ja_pages() in /core/pages.php  on line 299

Makaron

Avatar: Makaron

2010-05-04 14:58

Masz język, którego skrót to "ja"? Analogicznie taka funkcja powinna się znajdować w pliku db/ja_pages.php

Mak-Web.pl - Modyfikacje skryptów Q.Cart i Q.Cms

o nas | kontakt