[Помощь] Использование параметров в описании

Тема в разделе "Shop-script", создана пользователем nondescript, 23 окт 2010.

Статус темы:
Закрыта.
  1. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    Допустим я хочу использовать в описании товара параметры, такие как {$product_info.name} и {$product_info.price}, пробовал разными методами и вариантами вставлять, но кроме как название самой переменной ({$product_info.name}) не выводит :(
    Само поле description в базе при выводе трансформируется в HTML:
    Код:
    $product["description"]	= TransformDataBaseStringToHTML_Text( $product["description"] );
    Может кто-то сталкивался? Как вставлять параметры самого шаблонизатора?
    Ну что? никто не знает что-ли?
     
  2. NeoGayver

    NeoGayver

    Регистр.:
    27 авг 2008
    Сообщения:
    225
    Симпатии:
    83
    По поводу вашего вопроса - Smarty теги разбирает в тот момент когда происходит синтаксический разбор шаблона! А динамическая информация добавляется уже в откомпилированный шаблон! В таком случае вам нужно использовать фильтры! Можно воспользоваться фильтром Smarty
     
  3. nondescript

    nondescript Создатель

    Регистр.:
    17 окт 2009
    Сообщения:
    31
    Симпатии:
    4
    А можно какой нибудь пример использование в моем случае?
     
  4. antonpetr

    antonpetr Создатель

    Регистр.:
    1 авг 2010
    Сообщения:
    22
    Симпатии:
    4
    Присоединяюсь к nondescript, можно подробнее?
     
  5. alica

    alica

    Регистр.:
    28 июл 2008
    Сообщения:
    243
    Симпатии:
    76

    {$product_info.description|replace:'КОД_ЦЕНА': $product_info.price}

    При встрече в описании "КОД_ЦЕНА" слово будет заменено на указанную цену.
     
  6. po-int

    po-int Создатель

    Регистр.:
    28 апр 2007
    Сообщения:
    13
    Симпатии:
    3
    В description вставляешь %price%, %name% там где нужно;
    Перед той строкой кода, что ты привел (я так понимаю, это product_functions.php), вставляешь:
    PHP:
    //:added:
    $repls = Array ('%price%' => $product["Price"], '%name%' => $product["name"]);
    foreach (
    $repls as $f => $t) {
      
    $fr []= $f$to []= $t;
    }
    $product["description"] = str_replace ($fr$to$product["description"]);
    //end :added:
    $product["description"]    = TransformDataBaseStringToHTML_Text$product["description"] ); //та самая строка
     
Статус темы:
Закрыта.