Записываю (кэширую) небольшое кол-во товаров (хитов) в файл при помощи функции:
file_put_contents($file, serialize($content))
.
При записи присутствуют HTML
код и сам PHP
код в небольшом количестве.
Цена для товара выводится так: <?=$hit->price;?>
. Соответственно этот код надо выполнить при записи, что сейчас и происходит, но в начале записываемой информации в файл, присутствует строка:
<?php $currency = \system\App::$result->get('currency'); ?>
и в самом файле уже вывод значения: <?=$currency['value'];?>
$currency
- это массив с активной валютой на сайте. Получается, если этот код отработает при записи файла, что сейчас и происходит, то при смене валюты,
<?=$currency ['value'];?>
- уже не отработает, т.к. эта строчка кода уже отработала при записи.
Как можно записать и не выполнять при записи эти строчки кода?:
<?php $currency = \system\App::$result->get('currency'); ?>
<?=$currency['value'];?>
соответственно, когда будет подключаться готовый кэшированный файлик при обновлении страницы, будут выполняться эти строки кода каждый раз.
Может кто знает. Возникает идея, обрамления нужного PHP
кода, но как не знаю и поможет ли это вообще тоже не знаю:)
UPDATE:
<?php if(isset($data['hits'])): ?>
<?php $currency = \system\App::$result->get('currency'); ?>
<div class="section-product-hits">
<?php foreach($data['hits'] as $hit): ?>
<div class="product-price">
<?php if(!$hit['discount_price']): ?>
<span class="price">
<?=$currency['symbol_left'];?> <?=$hit->price / $currency['value'];?>
</span>
<?php else: ?>
<?=$currency['symbol_left'];?> <span class="price"><?=$hit->discount_price / $currency['value'];?></span>
<?=$currency['symbol_left'];?> <span class="old-price"><?=$hit->price / $currency['value'];?></span>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php if(isset($data[hits])): ?>
<?php $currency = \system\App::$result->get("currency"); ?>
<?php ob_start() ?>
<div class="section-product-hits">
<?php foreach($data[hits] as $hit): ?>
<div class="product-price">
<?php if(!$hit[discount_price]): ?>
<span class="price">
<?=$currency[symbol_left];?> <?='<?=$hit->price / $currency[value];?>'?>
</span>
<?php else: ?>
<?=$currency[symbol_left];?> <span class="price"><?=$hit->discount_price / $currency[value];?></span>
<?=$currency[symbol_left];?> <span class="old-price"><?=$hit->price / $currency[value];?></span>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php
$content = ob_get_flush();
file_put_contents($file, $content).
?>
<?php endif; ?>';
В комментарии не влезало, пихну в ответ)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
как посчитать сумму числовых значений в столбце 'cost' из таблицы MySql, чтобы в переменную заносилось в данном случае значение 4850 и выводилась?
Как мне кажется верно, но файл не отправляется и $curl_result пустойГде может быть ошибка?
В БД MySql есть столбец 'created_at' с датой и временем