Интеграция форума в ваш сайт с помощью слоёв

Автор KapaBG, 13 февраля 2008, 06:11:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

KapaBG

свези со своим посвещением в реды чортемемберов  >:D, йа смеренно подношу лепту (вклад) для простых русских парней, которые с езыком ангелов (ангелийский езыг angel) не дружад, чем заведомо ставят себе в реды редовых невеселых чертей :'(. на самом дели дезайн (проектировоние) пожалуй наиболее увлекательное занятие для русских мозгов. это у них встроено в днк типа. 2funny

кто знаком с книгаме костонеда :coolsmiley: будет иметь преимущество в понемании сево трактата, а кто предпочетает смотреть мультики, пусть вспомнит рассуждение Шрека об своей луковичной послойной прероди. idiot

[SMF 1.1.x] Интеграция форума в ваш сайт с помощью слоёв

Автор: Daniel15, оригинал статьи - здесь.



Это руководство описывает тему оформления SMF по умолчанию. В будущем, автор расширит его, объяснив как сделать это и для других тем тоже :)

В настоящее время, он переписывает эти разделы, и скоро пришлет значительно улучшенную версию :)

KapaBG

#1
Целью этой статьи будет показать как интегрировать установку вашего SMF форума на вашем сайте, используя систему слоев SMF (фактически, именно так и создавался сайт разработчиков SMF). Это потребует немного труда, но не черезчур сложного, в конечном счете. Его результат вы можете увидеть, например, на моем сайте: http://www.daniel15.com/forum/.

Это руководство подразумевает, что вы владеете базовыми знаниями по (X)HTML и CSS. Если вы работаете над своим сайтом, у вас, вероятно, уже имеется достаточный багаж в этой области :) . Если нет, то некоторые сведения об CSS и HTML можно подчерпнуть отсюда:
http://www.w3schools.com/html
http://www.w3schools.com/xhtml
http://www.w3schools.com/css
Когда я говорю HTML, я подразумеваю XHTML, но это отличие больше похоже на новую версию, чем на отдельный язык разметки. XHTML предпочтительнее, но если вы знаете HTML - этого тоже вполне достаточно. Более подробную информацию об этом вы можете найти в руководствах по приведенным выше ссылкам.

Обзор:

Теперь, мы начнем с разъяснений системы слоев.

Система слоев - что это такое?

Система шаблонов SMF использует так называемые "слои" (layers). По существу, слой - это просто два суб-шаблона, один из которых находится сверху содержания, а другой располагается под ним. Например, слой по умолчанию, называемый "main", состоит из того что располагается выше содержимого - "main_above", и того что ниже "main_below":


Поскольку вы интегрируете форум в ваш сайт, мы добавим новый слой, называемый "site". Этот слой будет располагаться перед слоем "main", и таким образом порядок будет таков:

site_above --> main_above --> Содержание --> main_below --> site_below

Самые первые шаги - шаблон вебсайта

Первое что вам нужно - создать контент или содержание вашего нового слоя. Допустим что у вас уже есть HTML шаблон вашего сайта, так что мы его и используем. Для рассказа я буду использовать вот этот шаблон:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<head>
<title>Тест</title>
</head>

<body>
<h1 align="center">Мой реально крутой вебсайт</h1>
<div align="center"><a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a></div>
<hr />

Это фактически мой контент!<br />
тра-та-та

<hr />
&copy;2008 Мой сайт
</body>
</html>


Вам нужно будет разделить этот шаблон на два файла: один для заголовка (header) и один для подвала или нижнего колонтитула (footer). Для заголовка, скопируйте весь текст после тэга <body> до того места, где начинается контент, и сохраните его в файл с именем header.php. В нашем примере это будет следующий код:


<h1 align="center">Мой реально крутой вебсайт</h1>
<div align="center"><a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a> | <a href="#">Ссылка</a></div>
<hr />


Аналогично нужно сделать такое же и для нижнего колонтитула. Скопируйте весь текст от конца контента вашего сайта до тега </body> и сохраните это в файл с именем footer.php. В нашем примере его содержимое будет следующим:

<hr />
&copy;2008 Мой сайт


Как только вы сделаете все это, следующей вещью которую нужно сделать - создать копию темы по умолчанию. Для этого нужно перейти в секцию "Темы оформления" Центра Администрирования. В разделе "Установить новую тему оформления" введите название для новой темы в поле "Создать копию используемой по умолчанию темы:". На вопрос "Установить новую тему?" отвечайте "Да". После этого, URL в адресной строке вашего браузера будет что-то вроде theme_id=4 ... Запомните этот параметр ID, он нам понадобится в дальнейшем!

Одной из первых вещей, которые вы захотите сделать - изменить некоторые цвета вашего форума, чтобы привести их в соответствие с цветами вашего сайта. Для этого редактируйте файл Themes/[название вашей темы]/style.css. В этом файле есть комментарии, но главными в них являются catbg и titlebg (различные заголовки), windowbg1, windowbg2, и windowbg3 (фоновые цвета для сообщений и проч.), и bordercolor/tborder (границы для таблиц и проч.).

Разбивка шаблона index.template.php

Итак, мы создали новую тему и следующим шагом будет редактирование index.template.php. Я прикладываю во вложении базовый файл здесь, который вы можете использовать, сохранив его в Themes/[название вашей темы]. Этот стандартный файл шаблона из версии SMF 1.1.1, за исключением того, что он разбит на два слоя ("site" и "main"). Суб-шаблон "site_above" содержит все с самого начала от тега <body>. Суб-шаблон "site_below" содержит все что лежит ниже. Суб-шаблоны "main_above" и "main_below"содержит верх (информационный блок, меню, проч) и низ (копирайт) нашего форума.

В файле index.template.php имеется ввиду что header.php и footer.php расположены в директории форума. Если нет, переместите их туда, или отредактируйте index.template.php: найдите строки  "include("header.php")" и "include("footer.php")" и укажите правильный путь к ним.

Примечание: прикладываемый шаблон index.template.php будет работать и в версии SMF 1.1.4. он не претерпел никаких изменений с тех пор.
Уточняю еще раз header.php и footer.php должны быть в корне форума, а не темы, там же где и SSI.php

KapaBG

Таблицы CSS?
Если вы на своем сайте используете таблицы стилей CSS, вам нужно добавить ссылку на них в index.template.php (иначе стили не будут подхвачены). Чтобы сделать это, откройте index.template.php и найдите:
// ]]></script>
</head>
<body>';

Замените этот фрагмент на следующее:
// ]]></script>
<link rel="stylesheet" type="text/css" href="http://www.example.com/style.css" />
</head>
<body>';

заменив, соответственно, http://www.example.com/style.css на правильный URL с таблицами CSS вашего сайта (он может в шаблоне вашего сайта, обычно в начале).


Модификация базы данных

Есть еще одна жизненно-важная штука, которую надо проделать. Мы добавили новый слой, но SMF еще ничего не знает об этом. Для того, чтобы сообщить SMF о слоях, нужно запустить скрипт MySQL в phpMyAdmin (если вы не знаете что такое phpMyAdmin, посмотрите эту статью в Википедии). Зайдите в phpMyAdmin, перейдите на закладку SQL и запустите следующий скрипт с запросом:REPLACE INTO smf_themes
(ID_THEME, variable, value)
VALUES (4, 'theme_layers', 'site,main');
Он сообщит SMF, что вы хотите использовать два слоя: site и main. Замените smf_ на ваш префикс в базе данных (по умолчанию - smf_), и 4 - на номер ID вашей новой темы (вы получили его при добавлении темы. Если вы его забыли, перейдите в Центр Администрирования, в секцию Темы оформления, на закладку Темы и настройки и щелкните на имени вашей темы. В адресной строке URL вы увидите параметр th= (например th=4). Это и есть нужный вам ID).

Мы справились!
Это все, что вам нужно было сделать. Сделайте теперь вашу новую тему темой по умолчанию в секции Темы оформления Центра Администрирования (выбрав ее в выпадающем списке поля Сменить по умолчанию:), и перейдите на ваш форум. Если все сделано правильно, это будет выглядеть просто идеально :)

Используем SSI на страницах вашего сайта
Теперь кода вы закончили, вы можете использовать SMF функции из SSI, для управления вашим сайтом. Сделать это очень легко. Попробуйте создать файл с именем test.php в директории форума, и поместите в него следующее содержание:<?php
error_reporting
(E_ALL);

// Theme we're going to use
$ssi_theme 4;
// Layers we're going to use
$ssi_layers = array('site');
// Enable GZip compression (saves bandwidth)
$ssi_gzip true;

require(
'SSI.php');

echo 
'Видите? SMF это крутой движок :)';

ssi_shutdown();
?>
Замените 4 на ID вашей темы (найденой ранее).
Теперь зайдите на эту страницу. Если все сделано правильно, вы увидите текст "Видите? SMF это крутой движок :)" с заголовком и колонтитулом вашего форума :D. Вы можете использовать это в управлении другими страницами, и всего содержимого сайта (как это сделал я на своем сайте http://www.daniel15.com/). Удачи! :D

Если будут какие-то проблемы с этим, описывайте их здесь :D

Приложение: Список изменений автора в стандартный шаблон index.template.php

1. оригинал // The main sub template above the content.
function template_main_above()

1. изменения // Site layer - above template. Shown at the very top of the page, above the forum itself.
// See bottom of this function for an example of using your own, custom header at the top of the page.
function template_site_above()



2. оригинал <body>';
2. изменения <body>';
// Put your header stuff here
// The following line loads the header.php file"
include('header.php');
}

// Site layer - below template. Shown at the very bottom of the page, below the forum
function template_site_below()
{
global $context, $txt;

// Put your footer stuff here
// The following line loads the footer.php file:
include('footer.php');

// The following will be used to let the user know that some AJAX process is running
echo '
<div id="ajax_in_progress" style="display: none;', $context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' : '', '">', $txt['ajax_in_progress'], '</div>
</body></html>';
}

// The top of the forum
function template_main_above()
{
global $context, $settings, $options, $scripturl, $txt, $modSettings;



3. оригинал function template_main_below()
3. изменения // The bottom of the forum
function template_main_below()



4. оригинал </div>';

// The following will be used to let the user know that some AJAX process is running
echo '
<div id="ajax_in_progress" style="display: none;', $context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' : '', '">', $txt['ajax_in_progress'], '</div>
</body></html>';
}

4. изменения (эта часть перенесена в "template_site_below" см. выше) </div>';
}

Alexander_72

Цитата: KapaBG от 13 февраля 2008, 06:13:43
В разделе "Установить новую тему оформления" введите название для новой темы в поле "Создать копию используемой по умолчанию темы:". На вопрос "Установить новую тему?" отвечайте "Да". После этого, URL в адресной строке вашего браузера будет что-то вроде theme_id=4 ... Запомните этот параметр ID, он нам понадобится в дальнейшем!
После создания новой темы эту темы сразу установить  по умолчанию или как ..?
Цитата: KapaBG от 13 февраля 2008, 06:13:43
Итак, мы создали новую тему и следующим шагом будет редактирование index.template.php.
Редактирование файла index.template.php созданной темы или дефолтной?
Цитата: KapaBG от 13 февраля 2008, 06:13:43
В файле index.template.php имеется ввиду что header.php и footer.php расположены в директории форума. Если нет, переместите их туда, или отредактируйте index.template.php: найдите строки  "include("header.php")" и "include("footer.php")" и укажите правильный путь к ним.

Так в самом файле index.template.php что редактировать? В в моем файле "include("header.php")" и "include("footer.php")" нет

BIOHAZARD

да
созданной
инклуды Вы вписываете сами, пример прямо над Вашим постом
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Alexander_72

Цитата: KapaBG от 13 февраля 2008, 06:13:43
Как только вы сделаете все это, следующей вещью которую нужно сделать - создать копию темы по умолчанию. Для этого нужно перейти в секцию "Темы оформления" Центра Администрирования. В разделе "Установить новую тему оформления" введите название для новой темы в поле "Создать копию используемой по умолчанию темы:". На вопрос "Установить новую тему?" отвечайте "Да". После этого, URL в адресной строке вашего браузера будет что-то вроде theme_id=4 ... Запомните этот параметр ID, он нам понадобится в дальнейшем!
Делаю на SMF 1.1.11 . все как написано. Выходит ошибка :Эта папка Темы Оформления не существует или не содержит темы оформления!. Соответственно новая тема не создается и ID никакого нет .Как быть?

Mavn

в теме оформления должен быть волшебный файлик theme_info.xml
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Alexander_72

Цитата: Mavn от 09 июля 2010, 07:37:01
в теме оформления должен быть волшебный файлик theme_info.xml
В теме оформления у меня нет этого волшебного файлика theme_info.xml.  Этого файлика нет и в SMF 2.0 RC3.
Но в SMF 2.0 RC3 новая тема создается ,а в SMF  1.1.11 нет
Сооответсвенно возникают два вопроса(если конечно дело только в этом файлике):
1.Почему нет файла  theme_info.xml ?
2.Откуда взять файл theme_info.xml ?

Alexander_72

#8
BIOHAZARD  ,опять эксперементирую с SMF 2.0 RC 3. Все делаю опять же на локальном сервере.
Если не вводить ссылку в index.template.php на стили CSS ,то форум не открывается ,а выходит сообщение  Невозможно загрузить 'site_above' шаблон.
Если сделать вот так:
// ]]></script>';
  <link rel="stylesheet" type="text/css" href="http://localhost/moy_sit.ru-media.ru/templates/shablon_site_/css/template.css" />
  // Output any remaining HTML headers. (from mods, maybe?)
  echo $context['html_headers'];

  echo '
</head>
<body>'
Форум не открывается выходит ошибка :
Template Parse Error!  It seems something has gone sour on the forum with the template system. This problem should only be temporary, so please come back later and try again. If you continue to see this message, please contact the administrator.

You can also try http://www.simplemachines.ru/javascript:location.reload(); [refreshing this page] .

Bugo

Посмотрите внимательно, что пишете — у Вас HTML-код идёт прямым текстом, а должен выводиться в виде echo.
Вот так:

// ]]></script>';
  echo '<link rel="stylesheet" type="text/css" href="http://localhost/moy_sit.ru-media.ru/templates/shablon_site_/css/template.css" />';
  // Output any remaining HTML headers. (from mods, maybe?)
  echo $context['html_headers'];

  echo '
</head>
<body>'


Или так:

// ]]></script>
  <link rel="stylesheet" type="text/css" href="http://localhost/moy_sit.ru-media.ru/templates/shablon_site_/css/template.css" />';
  // Output any remaining HTML headers. (from mods, maybe?)
  echo $context['html_headers'];

  echo '
</head>
<body>'

SOVA

Я интегрировал форумо подобным образом. Все получилось нормально, единственная проблема - с кодировкой какую бы не ставил, постоянно то знаки вопроса, то квадратики (не в форуме, а то, что было сделано в результате интеграции)... Можт, кто сталкивался? Прошу помочь, очень важно. А то через iframe со скриптом авторастягивания криво получается. Это единственный, пожалуй, шанс, сделать все нормально. Версия SMF 1.1.11

Alexander_72

Bugo ,спасибо получилось. Сейчас другая проблема. В файле header.php в самом конце стоит позиция:


<jdoc:include type="modules" name="user3" />

Сама шапка сайта выводится ,но вот не получается  вывести меню в вышеуказанную позицию.  Может с помощью слоев нельзя вывести позицию модуля?

Mavn

вывести можно все что угодно вопрос только в том как форум должен понять что данное место для вывода модулей, возможно через инклуд файла cms или прописанной функции внутри файла header
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Alexander_72

Цитата: Mavn от 11 сентября 2010, 23:37:31
возможно через инклуд файла cms или прописанной функции внутри файла header
Mavn,так в файле header.php к добавленной позиции что еще нужно дописать? Если можно,пожалуйста,по конкретней.

Mavn

ну сказать что именно прописать не могу ибо не знаю кода и то что нужно в итоге получить.
Но скажем так чтобы работали функции cms в самом форуме нужно для начала как то наладить взаимодействие иначе от куда будет форум знать функции cms ?
значит нужен или api или еще чего чтобы с cms получить нужные функции
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Alexander_72

#15
Цитата: Mavn от 12 сентября 2010, 11:51:02
Но скажем так чтобы работали функции cms в самом форуме нужно для начала как то наладить взаимодействие иначе от куда будет форум знать функции cms ?
значит нужен или api или еще чего чтобы с cms получить нужные функции
Все равно ничего не понял. Вы внятно объяснить можете?

Alexander_72

Цитата: Mavn от 12 сентября 2010, 11:51:02
ну сказать что именно прописать не могу ибо не знаю кода и то что нужно в итоге получить.
Но скажем так чтобы работали функции cms в самом форуме нужно для начала как то наладить взаимодействие иначе от куда будет форум знать функции cms ?
значит нужен или api или еще чего чтобы с cms получить нужные функции
Я сделал проше - статическое меню. Код меню вставил в файл header.php . Только проблема в том что подхватываются не все стили ? Например, если на сайте кнопки отделены друг от друга ,то на форуме эти же кнопки прилипли друг к другу.  Если код этого же  меню вставить на сайт ,то там все нормально.  Подскажите  из-за чего может возникунуть эта проблема ?

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Alexander_72

Цитата: Mavn от 25 мая 2011, 16:47:34
стили смотрите
Почему на сайте  код меню с этими же стилями  выглядит как надо,а на форуме наоборот? 

Mavn

щас на кофейной гуще погадаю и дам ответ
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

GeorG

ЦитироватьПочему на сайте  код меню с этими же стилями  выглядит как надо,а на форуме наоборот?
Через дебагер смотрите, что на что влияет. Там делов-то, на 5 сек :)
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Эрнест

Цитата: Alexander_72 от 25 мая 2011, 17:17:47
Почему на сайте  код меню с этими же стилями  выглядит как надо,а на форуме наоборот?
Попробуйте вывести меню в отдельный файл php и прописать инклуд в index.template.php.

Alexander_72

Цитата: Alexander_72 от 25 мая 2011, 17:17:47
Почему на сайте  код меню с этими же стилями  выглядит как надо,а на форуме наоборот?
Цитата: GeorG от 25 мая 2011, 19:13:57

Через дебагер смотрите, что на что влияет. Там делов-то, на 5 сек :)
GeorG ,спасибо большое помогло. Через Fireburg увидел  html код   которого  нехватало ,его-то и добавил в файл header.php.

korkunov


Daytona

#24
Сделал и как здесь написано, и как по приведенной выше ссылки на оригинал статьи. Только я делал без подвала, закомментировав его подключение.
В первом случае на белом фоне отобразилась моя шапка, за ней надпись, типа все ок, работает и дальше ничего.
Во втором случае кроме этого еще и появилась градиентная заливка фона, как в установленной мною теме.
Больше ничего!
Порядок действий: скопировал текущую тему, закомментировал в них подключение подвала. Применил тему. Сделал запрос к БД с ID темы ОДИН раз, а не несколько, как в источнике написано (потом сделал, как там написано - все равно без изменений). Изменил в тестовом скрипте ID темы. Скопировал файл в каталог с темой.
Что я делаю не так?

UPD: Открыл форум, а он не открывается - Невозможно загрузить 'site_above' шаблон.. Тут у одного товарища тоже схожая проблема была, но я проверил - у меня HTML голым не идет в скрипте, я только строчки с include затрагивал.

trora

ну так раскоментируйте подвал. небось закоментили нужную php закорючку- без нее и не работает ничего
я не доллар чтоб всем нравиться

Daytona

Раскомментировал, сделал подвал - тестовый скрипт выдал шапку, надпись все работает и подвал. Больше ничего. Ошибка Невозможно загрузить 'site_above' шаблон. всё так же висит на index.php. Возвращал оригинальный index.template.php - не помогает. Как теперь восстановить работу форума?

Mavn

Цитата: KapaBG от 13 февраля 2008, 06:17:04Модификация базы данных

Есть еще одна жизненно-важная штука, которую надо проделать. Мы добавили новый слой, но SMF еще ничего не знает об этом. Для того, чтобы сообщить SMF о слоях, нужно запустить скрипт MySQL в phpMyAdmin (если вы не знаете что такое phpMyAdmin, посмотрите эту статью в Википедии). Зайдите в phpMyAdmin, перейдите на закладку SQL и запустите следующий скрипт с запросом:
Код: [Выделить]
REPLACE INTO smf_themes
(ID_THEME, variable, value)
VALUES (4, 'theme_layers', 'site,main');
Он сообщит SMF, что вы хотите использовать два слоя: site и main. Замените smf_ на ваш префикс в базе данных (по умолчанию - smf_), и 4 - на номер ID вашей новой темы (вы получили его при добавлении темы. Если вы его забыли, перейдите в Центр Администрирования, в секцию Темы оформления, на закладку Темы и настройки и щелкните на имени вашей темы. В адресной строке URL вы увидите параметр th= (например th=4). Это и есть нужный вам ID).
читайте внимательно что вы делаете
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

Так я когда шапку вставлял, сделал этот запрос. Когда решил вернуть обратно - тоже сделал, со старым ID

Mavn

если вы вернули файлы темы оформления дефолтовые то и запись в бд должна тоже вернутся на дефолтовую
слоя site в в бд по умолчанию просто быть не может, от сюда и ошибка при открытии форума лезит
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

1) Из-за криворукости и незнания что-то идет не так и уже форум не работает. Кто-то может написать полностью,  по пунктам для начинающих (таких, как я), как вернуть обратно изменения, внесенные в соответстии с этой статьей? Думаю, это можно будет добавить к основной статье.

2) Второй пункт вытекает из первого. Из-за криворукости и незнания что-то идет не так и уже форум не работает. Что было сделано не так или не доделано? То выскакивает ошибка Невозможно загрузить 'site_above' шаблон, то загружается форум без моих шапок. Сделал, как написано: в инклюдах поставил имя шапки, выполнил запрос к БД со своим ID темы

Mavn

сначала выложите отредактированные файлы темы оформления, а так же часть дампа бд где указано какие слои использует тема оформления.
какой именно кусок бд вам нужен приведено в мануале по установке.
после этого я думаю возможно вам и помогут а гадать на кофейной гуще чего вы там поменяли или не поменяли сложновато
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

Вот файл index.template.php и скрин записей из phpMyAdmin для темы с id=4 (скопированной, а затем установленной как текущая). Что-нибудь еще надо?

Mavn

1. у вас в профиле написано что версия 2.0.2 а файл темы оформления для версии 1.1.*
2. если верить профилю то  theme_layer html,body должен быть таким
3. дабы не гадать какая версия у вас, файл index.template.php возьмите из дистрибутива вашей темы оформления под нужную вам версию
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

Да, у меня версия 2.0.2. Скачивал с официального сайта для версии 2.0 файлик (тут выше ссылку кидали), но не помогло. Уточните, пожалуйста, второй пункт, там что-то не дописано, вроде

Mavn


Цитата: Daytona от 01 августа 2012, 10:27:06
Да, у меня версия 2.0.2. Скачивал с официального сайта для версии 2.0 файлик (тут выше ссылку кидали), но не помогло. Уточните, пожалуйста, второй пункт, там что-то не дописано, вроде
не помогло что? взять из дистрибутива чистый как есть файл index.template.php
по второму пункту там все дописано. посмотрите что у вас в бд и что я дал
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

Когда я изменил на html,body, то все вернулось, как было раньше, заработало. Но как интегрировать сайт, если это приводит к ошибкам?

Mavn

начнем с того что файл(для версии 1.1.) который вы выложили на форум не соответствует заявленной версии 2.0
из за этого по любому возникнут проблемы для начала начните работу с файлами одной версии версия форума равна версии файлов 2.0=2.*, а не 1.1.*=2.0
если делаете что-то, то делайте это сначала на тестовом форуме, а не на боевом, дабы избежать проблем с работоспособностью проекта
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Daytona

Попробовал снова, с копией стандартной темы. Ничего не работает: Невозможно загрузить 'site_above' шаблон . Прикладываю срез БД с id=4 и файл index.template.php для версии 2.0.

ValerBOSS

#39
аналогичная проблема. кстати, ошибка с site,main решилась повторным запросом sql, вот только почему-то header и footer никак не хотят работать.
----------------------------------
Всё. Нашел решение этой проблемы. Как я понял, данная штуковина возникает на бесплатных хостингах, с ограничением на работу php, так как у самого такой.
1) Чтобы подгружались слои (т. е не было ошибки "Невозможно загрузить 'site_above' шаблон"):
Заходим в phpmyadmin > ищем таблицу smf(или ваш префикс)_members > в записи администратора ищем поле id_theme > изменяем на 1 (Curve Theme, стандартная - загрузится точно)
Идем в админку > настраиваем по умолчанию Curve Theme > идем в myadmin > ставим админу id_theme на 0
Опять в админку > тема по умолчанию > ставим свою => тема заработала.
2) Всё бы хорошо, а нет, форум не хочет загружать хэдер и футер, показывает только тело. Однако, и с этим можно справиться:
Открываем index.template.php и на месте, где прописана подгрузка хэдера и футера просто вписываем содержимое данных файлов в соответствии с синтаксисом php.
Получится что-то типа:
// Put your header stuff here
// The following line doesnt load the header.php file and we should create this one here:
echo'
%your header%
';