Autor Zpráva
koma195
Profil *
Ahojte,

chcem sa opýtať či by sa dalo nejako zapísať aby som nemusel všetko ručne vypisovať aby mi to doplnilo napr. za stavebny-dozor-*.*
aby to nebolo také pracné.

príklad:
<?php 
if (is_page('stavebny-dozor-kosice')) include "subor.php";
elseif (is_page('stavebny-dozor-poprad')) include "subor.php";
?>

Dúfam že sa to dalo pochopiť :)

a vopred ďakujem za každú radu.

Filip
Kcko
Profil
if (preg_match("~^stavebny-dozor-.+~", $tvojePromennaVeKtereJeHodnota))
{
    include "subor.php";
}
koma195
Profil *
Kcko:
super ďakujem, len to treba ešte doladiť resp. neviem aký parameter tam treba dosadiť. Vypisuje mi:

Warning: preg_match() expects at least 2 parameters, 1 given in /data/r/e/realityservis.sk/web/wp-content/themes/technicka-inspekcia/header.php on line 34
Kcko
Profil
Promin oprava výše
koma195
Profil *
Kcko:
ďakujem ...

a pozrel by si sa mi prosím ešte či to zapisujem dobre? ...chybu mi to už nehlási ale ani nepracuje.

<?php
if (preg_match("~^znalecky-posudok-.+~", $ZnaleckyPosudok))
{
    if (is_page($ZnaleckyPosudok))
    $hlavicka = 'header-zp.jpg';
}
?>
Kcko
Profil
co je v $ZnaleckyPosudok ?
Jinak to normálně funguje viz http://regexr.com?35mqo
koma195
Profil *
Kcko:

myslel som že ten preg_match sa mi načíta do premennej $ZnaleckyPosudok a potom ho len vyvolám v tej druhej podmienke

  if (is_page($ZnaleckyPosudok))
    $hlavicka = 'header-zp.jpg';
Kcko
Profil
koma195:
Ne v te promenne mas mit tu hodnotu ...
DJ Miky
Profil
Ještě jedna možnost je využít strncmp, odpadnou tak starosti s regulárním výrazem:

$stranka = 'stavebny-dozor-poprad';

$sablona = 'stavebny-dozor-';
if(strncmp($stranka, $sablona, strlen($sablona)) === 0) {
  // $stranka začíná řetězcem „stavebny-dozor-“
}
koma195
Profil *
Kcko:
myslel som že to bude jednoduchšie a priučím sa :) ...ale strácam sa v tom :)

každopádne Ďakujem za všetky príspevky

DJ Miky:
no ako riešenie som to skúsil ale zrejme tam ešte treba dodať (ak som to správne pochopil) že reťazec pokračuje aj ďalej "stavebny-dozor-*.*"
Kcko
Profil
koma195:
Ukaž co dělá funkce is_page a i kus kódu nad tímhle fragmentem co jsi sem poslal ...
koma195
Profil *
Myslím že z kódu je to úplne jasné čo robí funkcia is_page.

<?
if (is_page('znalecky-posudok'))
    $hlavicka = 'header-zp.jpg';
else if (is_page('energeticky-certifikat-budovy'))
    $hlavicka = 'header-ecb.jpg';
else if (is_page('technicka-inspekcia-nehnutelnosti'))
    $hlavicka = 'header-tin.jpg';
else if (is_page('sluzby-spojene-s-kupou-a-predajom'))
    $hlavicka = 'header-ssskap.jpg';
else if (is_page('stavebny-dozor'))
    $hlavicka = 'header-sd.jpg';
else if (is_page('sprava-budov'))
    $hlavicka = 'header-sb.jpg';
else
    $hlavicka = 'header.jpg';
?>

<div id="wrapper">
  <div id="header">
    <h1><a href="/"><img src="<?php bloginfo('template_directory'); ?>/images/<?= $hlavicka; ?>" border="0" alt="Header"></a></h1>
  </div>

keby to robím pracne tak to vypíšem asi takýmto spôsobom:
<?
if (is_page('znalecky-posudok') || is_page('znalecky-posudok-kosice')  || is_page('znalecky-posudok-poprad') || is_page('znalecky-posudok-ruzomberok')) //atď. až celé slovensko
    $hlavicka = 'header-zp.jpg';
//pokračovanie kódu
Kcko
Profil
koma195:
Když je to z kódu jasné, tak jsem Ti taky jasně poradil jak to máš udělat. Ja v tomhle topicu končím. Měj se.
koma195
Profil *
Kcko:
Ospravedlňujem sa za použitý výraz ale vôbec som to tak nemyslel ;)

Jednoducho ja to ani neviem poriadne popísať a tak som myslel nakoľko sa tak vyznáš v PHP že to budeš vedieť.

is_page je logická hodnota ktorá vracia buď hodnotu true alebo flase.
Ak mám vo wordpresse vytvorenú podstránku znalecký posudok tak používam funkciu is_page('znalecky-posudok').
Kcko
Profil
koma195:
WP funkce, výborně. Budeš do ní muset tedy hrábnout a upravit ji. Pravděpodobně tam bude nějaký select na databázi jestli se daný "slug" URL nachází v DB.
WP díky bohu nepoužívám, takže dál neporadím.


Ale místo tohohle

if (is_page('stavebny-dozor-kosice')) include "subor.php";
elseif (is_page('stavebny-dozor-poprad')) include "subor.php";

Si můžeš udělat něco jako

$whatFiles = array(

"subor.php" => array("stavebny-dozor-kosice", "stavebny-dozor-poprad")

);

$foundedFile = '';
foreach ($whatFiles as $file => $pages)
{
    foreach ($pages as $page)
  {
     if (is_page($page){
      $foundedFile = $file;
      break;
   }
  }
}


echo $foundedFile; 
koma195
Profil *
Kcko:

Ďakujem pekne ...teda sa asi s tým ešte pohrám :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: