შესვლა

ეს ხაკი იძლევა საშვალებას შაბლონში შემოიტანოთ მნიშვნელობა
{if} და {else}.

დაყენება.
ვხსნით: \engine\classes\templates.class.php
ვპოულობთ:

Code
if (strpos ( $template, "[not-group=" ) !== false) {
  $template = preg_replace ( "#\\[not-group=(.+?)\\](.*?)\\[/not-group\\]#ies", "\$this->check_group('\\1', '\\2', false)", $template );
  }



მის ქვევით ვსვავთ:

Code
if (strpos ( $this->template, "{if " ) !== false) {
  $this->template = preg_replace ( "#\\{if (.+?)\\}(.*?)\\{/if\\}#ies", "\$this->check_else('\\1', '\\2', false)", $this->template );
  }


ვპოულობთ:

Code
function get_real_time() {


მის ზევით ვსვავთ ამას:

Code


  function check_else($condition, $block)
  {
  global $GLOBALS;
  extract($GLOBALS, EXTR_SKIP, "");
  if(is_array($matches=explode("{else}",$block))) {
  $block=$matches[0];
  $else=$matches[1];
  }
  if(eval(("return $condition;"))) return str_replace( '\"', '"', $block );
  return str_replace( '\"', '"', $else );
  }


ამით დაყენება დასრულებულია მაგრამ ჩნდება კითხვა, როგორ გამოვიყენოთ ეს ხაკი?ამისთვის საჭიროა php თუნდაც მცირე ოდნა

მაგალითი:
მაგალითად ჩვენ გვინდა ვაჩვენოთ მომხმარებელი დარეგისტრირებულია თუ არა , მაგრამ ამის გაკეთება საჭიროა არა login.tpl-ში, არამედ main.tpl ან მოკლე აღწერაში

ამის გაკეთება ძალიან მარტივია:

Code
{if $is_logged}
თქვენ მომხმარებელი ხართ!
{else}

თქვენი სტუმარი ხართ
{/if}


ან გავაკეთოთ თხოვნდა დასარეგისტრირებლად:

Code
{if !$is_logged}
დარეგისტრირდით საიტზე!
{/if}





780
ავტორი: fatal კატეგორია: DLE Modules
სულ კომენტარები: 0