Zdravím všechny,
pracuji na kompletním předělání redakčního systému phpRS a napadlo mně, že by bylo dobré si vytvořit funkci, díky které bych měl možnost jednoduše spravovat a generovat veškeré odkazy.
Chtěl byl znát názor zkušenějších, jestli je to správná cesta či existuje lepší možnost jak zajistit níže uvedené.
Příklad:
Namísto současné podoby, kdy je v kódu
<a href="view.php?cisloclanku=123&retema=4&seonazev=nadpis-clanku-vygenerovany-z-nadpisu-v-db" title="Název článku">Název článku</a>
či
<a href="search.php?rstema=4&idpodrubriky=5" title="Vyhledávání v rubrice 4 a podrubrice 5">Vyhledávání v rubrice 4 a podrubrice 5</a>
bych chtěl, aby tam bylo něco podobného:
PRO VIEW:
-------------
<a href="<?php function clanekURL('$cisloclanku'); ?>" title="Název článku">Název článku</a>....zde by se rstema apod generovalo z databáze dle umístění článku v rubrice
FUNKCE:
function clanekURL($NumArticle = 0)
{
$str='';
$NumArticle=phprs_sql_escape_string($NumArticle); // bezpecnostni korekce
if ($NumArticle!=0):
$dotazclanek=mysql_query("select link, seo_link, titulek, tema from ".$GLOBALS["rspredpona"]."clanky where link='".$NumArticle."'",$GLOBALS["dbspojeni"]);
if ($dotazclanek!=0&&phprs_sql_num_rows($dotazclanek)>0):
$pole_data=phprs_sql_fetch_assoc($dotazclanek);
$str.= 'clanky/'.RubrikaNazevSEO($pole_data['tema']).'/'.$pole_data['link'].'-'.$pole_data['seo_link'].'.html'; //view
else:
$str.= ''; // chyba
endif;
else:
$str.= ''; // chyba
endif;
return $str;
}
PRO SEARCH:
----------------
<a href="<?php function searchURL('4', '5', '', ''); ?>" title="Vyhledávání v rubrice 4 a podrubrice 5">Vyhledávání v rubrice 4 a podrubrice 5</a>.... zde ještě nevím, jestli by stačilo jen jeden parametr, protože nelze dopředu vědět následující:
např. když by bylo:
search.php?rsvelikost=sab&rstext=all-phpRS-all&rstema='.$NumTema.'&idpodrubriky='.$NumTema2.'
tak už nelze generovat automaticky, protože rstema může být třeba rubrika sport a idpodrubriky např. Srředočeský kraj a třeba ještě idpodrubriky2 např. Beroun a pokud bych chtěl výpis článků ze
sport/Stredocesky/Beroun/ není to to samé jako
sport/Stredocesky/
.
Proto by fukce měla obsahovat více polí, např:
function searchURL($NumTema = 0, $NumTema2 = 0, $NumTema3 = 0 atd....)
{
$str='';
$NumTema=phprs_sql_escape_string($NumTema); // bezpecnostni korekce
if ($NumTema!=0):
$str.= ' href="search.php?rsvelikost=sab&rstext=all-phpRS-all&rstema='.$NumTema.'&idpodrubriky='.$NumTema2.'&idpodrubriky2='.$NumTema3.'"';
else:
$str.= ' href="search.php?rsvelikost=sab&rstext=all-phpRS-all"'; // vypsat vše
endif;
return $str;
}
Proč to chci udělat?
------------------------
1. Dalo by se pomocí funkce clanekURL($cisloclanku) či searchURL($NumTema = 0, $NumTema2 = 0, $NumTema3 = 0 atd....) jednoduše zajistit, aby v celém red. systému byly adresy ve stejném tvaru
2. Při jakékoliv změně v budoucnu by veškerá editaci byla mnohem rychlejší, než všude přepisovat původní podobu a href.
Je to správná cesta?
Budu vděčný za každou radu.
LinkedIn - Zdeněk Pikulík
Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce
Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 16.03.2015 16:49.