Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Биржа статей (http://forum.sape.ru/forumdisplay.php?f=50)
-   -   DLE: установка кода статей и изготовление шаблона (http://forum.sape.ru/showthread.php?t=48032)

j10802 01.06.2010 14:31

да, как бы не по адресу вопрос задал..
просто я к тому что стоит ли затевать весь этот хоровод с установкой кода в dle (и када уже их модулями делать будут..наверное никада) если в этом очень мало смысла окажется...:(

Киновредитель 01.06.2010 15:37

Цитата:

Сообщение от j10802 (Сообщение 824737)
стоит ли затевать весь этот хоровод с установкой кода в dle

Не там никакого хоровода. С первого взгляда кажется сложно, а как возьмешься - работы оказывается минут на 5-10 :)

toxads 12.06.2010 15:35

Цитата:

Сообщение от MonAmur (Сообщение 745723)
DLE: установка кода статей и изготовление шаблона
1. открываем в текстовом редакторе файл index.php
почти в самом низу находим строку
Код HTML:

echo $tpl->result['main'];
и заменяем ее на
Код HTML:

//замена одной строки на другую для вставок пхп-кода
// echo $tpl->result['main'];
@eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
// конец

2. открываем файл templates/Ваш_шаблон/main.tpl, находим в нем
Код HTML:

{content}
ниже добавляем
Код HTML:

<hr>
<?
    if (!defined('_SAPE_USER')){
        define('_SAPE_USER', 'хэш-код');
    }
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    $sape_article = new SAPE_articles();
        echo $sape_article->
return_announcements();
?>

2. в корень заливается скачанный файл хэш-код.php, папка хэш-код с файлом sape.php, на эту папку задаются права доступа 777
3. в админке размещаем для отображения в нужном месте и включаем блок.
4. добавляем в сапу.

Создание динамического шаблона:
1. открываем в текстовом редакторе файл templates/Ваш_шаблон/main.tpl и в самой первой строчке пишем:
Код HTML:

<!--a1-->
далее в коде находим
Код HTML:

{headers}
и заменяем на
Код HTML:

<!--a2-->
{headers}
<!--a3-->

далее в коде находим
Код HTML:

{content}
и заменяем на
Код HTML:

<!--a4-->
{content}
<!--a5-->

после самой последней строки в коде добавляем строку
Код HTML:

<!--a6-->
2. создаем в корне сайта файл sapeart.php с таким содержанием:
Код HTML:

<?
$GrabURL = 'http://мой_сайт.ru/index.php?id=123'; //укажите URL любой страницы сайта с какой-нибудь статьей
$RetrieveFile = implode("",file($GrabURL));
$GrabStart = '<!--a1-->';
$GrabEnd = '<!--a2-->';
preg_match("%$GrabStart(.*?)$GrabEnd%is", $RetrieveFile, $m);
echo $m[1];
?>

<title>{title}</title>
<meta name="keywords" content="{keywords}" />
<meta name="description" content="{description}" />
<?
$GrabStart = '<!--a3-->';
$GrabEnd = '<!--a4-->';
preg_match("%$GrabStart(.*?)$GrabEnd%is", $RetrieveFile, $m);
echo $m[1];
?>

<h1>{header}</h1>       
{body}
<?
$GrabStart = '<!--a5-->';
$GrabEnd = '<!--a6-->';
preg_match("%$GrabStart(.*?)$GrabEnd%is", $RetrieveFile, $m);
echo $m[1];
?>

Оформление статьи можно подправить с помощью HTML и стилей CSS.

3. В интерфейсе добавления шаблона добавляем этот шаблон, прописывая его данные:
название шаблона: sapeart
URL: http://мой_сайт.ru/sapeart.php
частота обновления: 30 минут

4. В интерфейсе "Настройка шаблонов URL'ов" добавляем шаблон
/view-content/{id}.html
view-content - можно заменить на любое другое слово, похожее на какое-либо слово, содержащееся в URLах на сайте, либо по формату даты, как написано в интерфейсе "Настройка шаблонов URL'ов".

Как-то некрасиво получается. Не клеится в движок.
Я делал так:

Создаём динамический шаблон
1. Для начала нужно создать модуль, который будет выводить наш шаблон
заходим в "engine/modules" и создаём файлик "engine/modules/sape_news.php"

Вот содержимое файла:
PHP код:

<?php
/*
=====================================================
 Файл: sape_news.php
-----------------------------------------------------
 Назначение: Шаблон статьи для SAPE
=====================================================
*/

if(!defined('DATALIFEENGINE')){ die("Hacking attempt!"); }

// Html-код новости в соответствии с дизайном сайта!!!
$template = <<<html
<h3 class="title">{header}</h2>
<div class="news">{body}</div>
html;

// Метатеги тоже нужны!
$metatags['title'] = '{title}';
$metatags['keywords'] = '{keywords}';
$metatags['description'] = '{description}';

$tpl->result['content'] = $template;
?>

2. Теперь нужно этот модуль подключить
открываем "engine/engine.php"
Ищем
PHP код:

switch ($do) { 

Ниже вставляем
PHP код:

case "sape_news" :
    include 
ENGINE_DIR.'/modules/sape_news.php';
    break; 

3. Теперь надо разобраться с ЧПУ
Открываем файл ".htaccess" и находим в нём что-то похожее на
Код:

RewriteRule ^rules.html$ index.php?do=rules [L]
Где-нибудь рядом в удобном месте вставляем
Код:

# Шаблон статьи для SAPE
RewriteRule ^sape_news(/?)+$ index.php?do=sape_news [L]

Теперь по адресу http://site.ru/sape_news будет открываться наш модуль-шаблон

Теперь вывод отдельной статьи на сайте
Открываем файл ".htaccess" и в самом конце вставляем:
Код:

# SAPE Статьи
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^articles/([0-9]+)-([a-z0-9\_\-]+)\.html$ /кодсапы39523560352.php [L]

</IfModule>

Ну и наконец анонсы
Открываем "index.php"
Где-нибудь перед этим:
PHP код:

$tpl->set('{calendar}'$tpl->result['calendar']);
$tpl->set('{archives}'$tpl->result['archive']);
$tpl->set('{tags}'$tpl->result['tags_cloud']); 

Вставтяем:
PHP код:

/* SAPE */
define('_SAPE_USER''код сапы'); 
require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape_article = new SAPE_articles();
$sape_articles $sape_article->return_announcements();

if(!empty(
$sape_articles)){
    
$sape_articles '<div class="articles">'.$sape_articles.'</div>';
}else{
    
$sape_articles '';
}
$tpl->set('{sape_articles}'$sape_articles); 

Ну и конечно-же в шаблон main.tpl не забываем вставить тег {sape_articles}

Добавляем все эти дела на sape
1. В "Шаблоны статей" шаблон со ссылкой:
http://ваш_сайт/sape_news

2. В "Шаблоны URL'ов" добавляем шаблон:
/articles/{id}-{name}.html

Всё!

ЗЫ: У меня ещё сапа ругаться начала, мол
Цитата:

Не используйте «избитые» адреса, типа articles и тому подобные. Не показывайте чужим людям пальцем туда, где Вы зарабатываете. Делайте нечто похожее на адреса вашего сайта и логичное с точки зрения посетителя.
Но я думаю на это даже не стоит обращать внимания, т.к. такой вид ссылки на новость для ДЛЕ самый "родной". Ну или всё-таки можно поменять "articles" на что-то другое(соответственно и в .htaccess)

nicoly_sw 13.06.2010 19:16

Сделал как вы описали но у меня возникает ошибка:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/users1/n/nicolysw/domains/sweettoshka.ru/index.php on line 75

это где-то в
if(!empty($sape_articles)){
$sape_articles = '<div class="articles">'.$sape_articles.'</div>';
}else{
$sape_articles = '';
}
что это такое? как избавится?

toxads 14.06.2010 02:04

Цитата:

Сообщение от nicoly_sw (Сообщение 834857)
это где-то в
if(!empty($sape_articles)){
$sape_articles = '<div class="articles">'.$sape_articles.'</div>';
}else{
$sape_articles = '';
}
что это такое? как избавится?

Вряд-ли это здесь, скинь весь файл index.php мне на мыло (toxads@gmail.com)

nicoly_sw 14.06.2010 07:07

Цитата:

Сообщение от toxads (Сообщение 835080)
Вряд-ли это здесь, скинь весь файл index.php мне на мыло (toxads@gmail.com)

спасибо за участие)

откатил сайт на 1 день назад и поставил снова... ошибки пропали...
добавил в сапу страницу http://sweettoshka.ru/sape_news,
на сапа говорит что код не установлен(((

потом набил в командной статье этот адрес и браузер оттображает
Parse error: syntax error, unexpected T_SL in /home/users1/n/nicolysw/domains/sweettoshka.ru/engine/modules/sape_news.php on line 13


да еще не понятно
В "Шаблоны URL'ов" добавляем шаблон:
/articles/{id}-{name}.html

где находится этоти шаблоны?

toxads 14.06.2010 10:50

Цитата:

Сообщение от nicoly_sw (Сообщение 835095)
потом набил в командной статье этот адрес и браузер оттображает
Parse error: syntax error, unexpected T_SL in /home/users1/n/nicolysw/domains/sweettoshka.ru/engine/modules/sape_news.php on line 13

PHP код:

$template = <<<html
<h3 class="title">{header}</h2>
<div class="news">{body}</div>
html; 

После "<<<html" не должно быть пробелов(видимо при копировании появился)
Так-же не должно быть пробелов перед и после "html;"

Цитата:

Сообщение от nicoly_sw (Сообщение 835095)
где находится этоти шаблоны?

В настройках площадки
(Настройки Управление ценами Шаблоны статей Шаблоны URL'ов)

nicoly_sw 14.06.2010 13:36

Цитата:

Сообщение от toxads (Сообщение 835131)
PHP код:

$template = <<<html
<h3 class="title">{header}</h2>
<div class="news">{body}</div>
html; 

После "<<<html" не должно быть пробелов(видимо при копировании появился)
Так-же не должно быть пробелов перед и после "html;"


В настройках площадки
(Настройки Управление ценами Шаблоны статей Шаблоны URL'ов)

Поправил стала вылазить вот такая бяка:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users1/n/nicolysw/domains/sweettoshka.ru/engine/modules/sape_news.php on line 19


А тег {sape_articles} - это ссылка на статью?

Добавлено через 7 минут
поправил строку убрал пробелы и получилось $metatags['title']='{title}';
на странице отображается http://sweettoshka.ru/sape_news

{header}
{body}

так и должно быть?

Но площадка добавилась и теперь ждет индексации.

Добавлено через 21 минуту
и еще попробовал добавить В "Шаблоны URL'ов" добавляем шаблон:
/articles/{id}-{name}.html

он ругается говорит ошибка:

Ошибка: По адресу, соответствующему шабону, выводится посторонняя страница. Проверьте работоспособность правил mod_rewrite для шаблона.

toxads 14.06.2010 17:57

Цитата:

Сообщение от nicoly_sw (Сообщение 835175)
так и должно быть?

Да.
Разве что можно поправить в соответствии с шаблоном полной новости

Цитата:

Сообщение от nicoly_sw (Сообщение 835175)
он ругается говорит ошибка:

А ты в .htaccess в конце вставил это?
Код:

# SAPE Статьи
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^articles/([0-9]+)-([a-z0-9\_\-]+)\.html$ /кодсапы39523560352.php [L]

</IfModule>

Ещё проверь что-бы на сайте не было категории с таким-же адресом
И там где "кодсапы39523560352" должен быть твой код, выданный сапой(ну и сам файл должен лежать в корне сайта)

nicoly_sw 14.06.2010 19:45

все сделал огромное спасибо за помощь)


Часовой пояс GMT +3, время: 01:06.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.