• Kontakt
  • O systemie
  • Strona główna
Pomoc
  • Założenia systemu
  • Praca z systemem
  • Opcje
  • Szablony
  • Moduły
  • Edytor HTML
  • E-commerce - sprzedaż online
  • Inne zagadnienia
    • Generowanie sitemap.xml
    • Autogenerowanie słów kluczowych
    • Mechanizm przypisywania do wielu kategorii
    • Wirtualne katalogi - przekazywanie zmiennych
    • Zewnętrzne biblioteki
    • Tagi
    • Konwersja video
    • Plik konfiguracyjny
    • Skrypty użytkownika w systemie
    • System uzytkowników - frontend
  • Przykłady rozwiązań

Wirtualne katalogi - przekazywanie zmiennych

Przy włączonym trybie wirtualnych katalogów link do strony zbudowany jest w następujący sposób:

zamiast np:
  • /page.php?cat=88
jest
  • /produkty/budowlane/
wówczas zmienna $_GET['cat'] w PHP przyjmuje wartość 88
Można również w takiej postaci dołączać parametry do adresu URL:

zamiast
  • /page.php?cat=88&rid=100&parametr=XXX
można użyć:
  • /produkty/budowlane/rid,100,parametr,XXX.html

czyli jeśli na końcu adresu  jest sekwencja ".html" wówczas wyrażenie "rid,100,parametr,XXX" jest interpretowane tak jak "rid=100&parametr=XXX"

Można w ten sposób również przekazywać zmienne tablicowe:

adres:
  • http://manom.pl/zakupy/prods/adidas/eq-grupa,PIRE:PISI,eqin,1.html

spowoduje że w PHP będzie widoczna zmienna:
  • $_GET['eq']['grupa'] o wartości "PIRE:PISI"

czyli myślnik "-" oddziela klucze dla tablicy dwuwymiarowej $_GET

Do adresu wobec tego można dodać praktycznie dowolny ciąg np nazwę produktu:
  • http://tanie-ogrzewanie.pl/sklep/kotly_i_piece_gazowe/vaillant/Kocio%B3%20gazowy,VCW%20ecoTEC%20plus%202963-5,rid,1317.html

lub np:
  • http://tanie-ogrzewanie.pl/sklep/kotly_i_piece_gazowe/vaillant/rid,1317,Kocio%B3%20gazowyVCW%20ecoTEC%20plus%202963-5.html

bez konsekwencji dla strony która zostanie wyświetlona.

Przy kodowaniu ISO  należy uważać na polskie znaki i znaki specjalne w adresach url - aby uniknąć problemów z odczytem PL znaków w różnych przeglądarkach powinny one być zakodowane inaczej niż tradycyjny urlencoding czyli słowo "Łódź" zamiast: %A3%F3d%BC jest zakodowane tak
  • http://oknonet.pl/szukaj/firmy/query,*A3*F3d*BC.html

służy do tego metoda isourlencode() (dołączona do pliku act_cms.js)

czyli np w oknonecie przy wyszukiwarce jest javascript typu:
  • document.location.href = '/query,'+document.getElementById('searchinp').value.isourlencode()+'.html';


Powered by Actualizer CMS