Отправляет email-рассылки с помощью сервиса Sendsay

Re[3]: Изменение текста

Стоит использовать технологии shtml или php (в зависимости от того,
что поддерживает Ваш сервер). В обоих случаях есть команда include,
которая позволяет включать произвольный кусок кода в нужное место
страницы. Соответственно (в самом простом случае с shtml) достаточно
создать что-то вроде menu.inc (текстовый файл с куском кода меню) и на
всех страницах использовать в месте, где должно быть меню, такую
конструкцию: <!--#include virtual="menu.inc" --> (при этом расширение
страниц нужно поменять на .shtml). Результатом выполнения кода станет
вставка кода из menu.inc.

Ответить   Tue, 31 Jan 2006 21:16:02 +0300 (#508677)

 

Ответы:

Здравствуйте, Михаил!

С shtml все понятно. Спасибо! А как будет выглядеть шаблон на php?
Напишите, плз...
Кстати, что лучше, shtml или php? Какие плюсы и минусы у того и
другого?

Аня



библиотекa сайтостроительства http://www.i2r.ru/static/244/

Ответить   Аня Thu, 2 Feb 2006 18:36:49 +0200 (#509894)

 

Очень просто. Вот пример:

foreach ($filmsList as $cid => $line) {
$color = ($color == 'silver_row') ? 'gray_row' : 'silver_row';
$page->chooseBlock('ROW');
$page->assignBlock('ROOT_URL', $_SERVER['PROSITER_ROOT_URL']);
$page->assignBlock('COLOR', $color);
$page->assignBlock('ID', $line['id']);
$page->assignBlock('NUM', $films->checkNewRingtones($line['id'])
? 'NEW!' : '&nbsp;');
$page->assignBlock('NAME', $line['name']);
$page->parseBlock();
}

$rusz = $films->getLetters('rus');
$latz = $films->getLetters('lat');

for ($i = 0, $max = count($rusz); $i < $max; $i++) {
$page->chooseBlock('ALPHA_RU');
$page->assignBlock('HREF', '?letter='.$rusz[$i]);
$page->assignBlock('TITLE', $rusz[$i]);
$page->parseBlock();
}

for ($i = 0, $max = count($latz); $i < $max; $i++) {
$page->chooseBlock('ALPHA_EN');
$page->assignBlock('HREF', '?letter='.$latz[$i]);
$page->assignBlock('TITLE', $latz[$i]);
$page->parseBlock();
}

$page->chooseBlock('PAGES_LINKS');
$page->assignBlock('PAGES_LINKS', $pager);
$page->parseBlock();

$page->chooseBlock('ROOT');
$page->assignBlock('PAGES_LINKS', trim($pager) != '' ? $page->getBlock('PAGES_LINKS')
: '&nbsp;');
$page->assignBlock('ALPHA_EN');
$page->assignBlock('ALPHA_RU');
$page->assignBlock('HREF', '?');
$page->assignBlock('ROW');
$page->assignBlock('ROOT_URL', $_SERVER['PROSITER_ROOT_URL']);
$page->parseBlock();

$page->printBlock('ROOT');

И пример шаблона:

<!-- silver row start -->
{BLOCK ROW BEGIN}
<tr class="{COLOR}">
<td><img src="{ROOT_URL}images/tr.gif" alt="" width="8" height="1" border="0"></td>
<td><span class="red">&nbsp;</span></td>
<td>
{BLOCK PERFORMERS BEGIN}
{PNAME}<br>
{BLOCK PERFORMERS END}
</td>
<td>{NAME}</td>
<td>
{BLOCK AUTHORS BEGIN}
<strong>{ROLE}</strong> - {ANAME}<br>
{BLOCK AUTHORS END}
</td>
<td>{DOLE}</td>
<td>{ARIGHTS}</td>

<td>{BRIGHTS}</td>
<td>
{BLOCK RINGTONES BEGIN}
<a href="javascript:void(0)" onmouseover="this.href='listen/'" onmouseout="this.href='javascript:void(0)'"
onclick="this.href='{ROOT_URL}listen.php?name={RINGTONE}&id={ID}'"><img src="{ROOT_URL}images/ring_phone.gif"
alt="" border="0" class="ring_phone_img"></a>&nbsp;
{BLOCK RINGTONES END}
</td>
<td>
{BLOCK RINGTONELINK BEGIN}
<a href="javascript:void(0)" onmouseover="this.href='how_to_download/'" onmouseout="this.href='javascript:void(0)'"
onclick="this.href='javascript:void(0)';op_win('/popup.php?name=content_newest&id={ID}',750,263);"><img
src="{ROOT_URL}images/ring_tone.gif" alt="" border="0"></a>&nbsp;
{BLOCK RINGTONELINK END}
</td>
<td><img src="{ROOT_URL}images/tr.gif" alt="" width="8" height="1" border="0"></td>
</tr>
{BLOCK ROW END}
<!-- silver row end -->

Задумайтесь, все-таки, о приобретении CMS.

Ответить   Thu, 2 Feb 2006 20:54:03 +0300 (#509937)

 

Здравствуйте, Аня.

Вы писали 2 февраля 2006 г., 19:36:49:

Если не используете на сайте других php скриптов - лучше использовать
shtml. Он, на мой взгляд, работает несколько быстрее. Если после этих
слов нужен шаблон на php - пишите, скину ;-)
P.S. SHTML поддерживается даже на самых дешёвых хостингах, тогда как
за php обычно придётся доплатить.

Ответить   Fri, 3 Feb 2006 10:41:20 +0300 (#510298)