[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что это и как это работает?
Erilar
Очень часто видел с CMS такую вещь:
[img.]image.jpg[/img.],
[.code]bla-bla[./code]...

как это называется и как это можно реализовать?
GET
Erilar

Очень похоже на BBcode или (может так шаблон реализовали).

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Erilar
Это так шаблон реализован. Например в DLE, чтобы вывести контент пишется {content}. Вот и хочу понять, как это работает. Может знает кто?
volter9
Erilar
Регулярками (preg_replace) или же через замену строк (str_replace, strtr).

_____________
Мой блог
Erilar
немного не то
Игорь_Vasinsky
Erilar
очень то

шаблон template.tpl

<html>
<
head>
<
title>{TITLE}</title>
</
head>
<
body>
<
h1>{TITLE}<h1>
{CONTENT}
</body>
</
html>



файл index.php

<?php
$tpl = file_get_contents('template.tpl');

$title = 'Тест шаблонизатора';
$content = 'Эта страница сгенерирована при использовании шаблона';

echo strtr($tpl, array('{TITLE}'=>$title, '{CONTENT}'=>$content));
?>


$content и $title для каждой страницы вытаскиваются из БД, при этом какую страницу выводить можно смотреть в урл

http://site.ru/?page=12

смотришь на $_GET['page'] и по нему вытаскиваешь данные из бд нужной страницы (новости, например) - просто отправляя в бд (int)$_GET['page'] - идентификатор страницы(новости)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
VeRTak
Цитата (Erilar @ 24.07.2015 - 10:01)
Например в DLE, чтобы вывести контент пишется {content}


в CodeIgniter, тоже присутствуют подобные вещи, сам сижу разбираюсь, почитайте документацию, может найдет что то интересное для себя
Erilar
Цитата (Игорь_Vasinsky @ 24.07.2015 - 10:43)
очень то

Спасибо большое! Вы направили меня в нужную сторону.
Erilar
Цитата (Wind @ 24.07.2015 - 10:45)
CodeIgniter

Интересная документация. Спасибо!
kaww
Цитата (Erilar @ 24.07.2015 - 07:21)
Вы направили меня в нужную сторону.

В нужную сторону - это избегать подобных решений. Что вам мешает писать в шаблоне <?=$content?> вместо {content}?
Такой подход оправдан, например, в bb-кодах, но никак не в файлах шаблонов.
Игорь_Vasinsky
kaww
чё до*бался. см 2й пост ТС http://phpforum.su/index.php?act=Print&cli...limin=2&limit=1
его интересует как такое реализуется, как из {content} получается текст страницы

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Игорь_Vasinsky, не стоит принимать на свой счет, я высказался по поводу того, что язык позволяет реализовать желаемый ТСом функционал, более простым способом и с меньшими затратами ресурсов. А не по поводу твоего сообщения, которое, кстати, дает развернутый ответ на вопрос Erilarа.
Игорь_Vasinsky
kaww
я тож уже давно использую нативный синтаксис и отказался от шаблонов

а ТС для общего развития будет полезно и их попробовать, пака не найдёт альтернативу, удовлетворяющего его.

яж без злобы написал тебе)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
vagrand
Игорь_Vasinsky
Цитата
яж без злобы написал тебе)

Цитата
чё до*бался


no comments

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Игорь_Vasinsky
vagrand
ну ты лось. говорю же - ему без злобы. тебе - презирая.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.