Автор Тема: !!! FAQ по Санитариуму и недокументированные возможности  (Прочитано 141168 раз)

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

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Работая над http://kino.themes.ru/ я понял, что в этом скрипте возможностей существенно больше, чем предполагал его автор. Сейчас мой проект почти ПОЛНСТЬЮ (исключение - фотогалерея "Посмотри!" и обои) существует на этом движке. Sanitarium позволяет делать "Главную новость", выпуски, подобные тому, как это выглядит у меня сейчас и прочие разные вкусности.

Если народу, который пользуется этим движком, интересно, как и что можно сотворить из того, что действует на http://kino.themes.ru/ - пожалуйста, задавайте вопросы. Хочу заметить. что уже сейчас сайт почти полностью работает без доступа по FTP.

В числе первых вопросов, если интересно, могу расказать, как сделать на основе Sanitarium фотогалерею вроде этой http://kino.themes.ru/8/416_1.shtml (FTP потребуется только длятого, чтобы заливать картинки в специфическую директорию, не предусмотренную, пока, создателями движка)
« Последнее редактирование: 20 Сентября 2002, 13:15:35 от Ptiza »
Что это за птица с подрезанными крыльями?

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Возможность первая:

Фотогалерея на Sanitarium

Организовать фотогалерею на этом движке не просто, а очень просто. Создаем новый шаблон на основе традиционного "новостного" шаблона. Только перед надписью <%content%> вставляем следующий код:

другие фото :: <%span_pages%> ::
/<%page%>.jpg\'>

Сделано? Первый и самый главный этап пройден. Если Вы еще не догадались, как это  работает - продолжаем разговор.

Теперь необходимо в директории /gallery/ создать поддиректорию, имя которой будет совпадать с номером статьи (назовите ее, как удобно, а потом переименуете, когда номер статьи станет известен) и поместить туда фотографии, котрые будут называться 1.jpg 2.jpg ... и далее до 99.jpg (помните, что в Санитариуме количество страниц в статье ограничивается сотней).

Далее, Вам необходимо создать статью, определив в ней количество станиц, равное количеству фотографий в галерее.  Но не забудьте, под каждой фотографией у Вас должна быть подпись, которую вы вводите в поле <%content%> (стандартное поле, где Вы обычно публикуете статью). Это поле обязательно для заполнения, иначе статья не будет опубликована.

Вот и все, теперь просто создавайте новые страницы в публикаторе и не заботьтесь о подстановке адреса к рисунку.

Одна загвоздка есть у этого способа - рисунки должны быть стандартной ширины и хорошо вписываться в дизайн страницы по ширине, но и этот момент можно обойти, применив немного фантазии. И вторая маленькая тонкость - без доступа по FTP здесь не обойдешься, поскольку невозможно с помощью Sanitarium заливатьрисунки в иные директории, чем img, а тем более создавать в них поддиректории.

Резюме: По сути своей фотогалерея - это многостраничная статья.

Жду других вопросов об использовании возможностей Санитариума. В следующий раз я расскажу о том. как делать "Главную новость"  и уподобить Ваш сайт большому новостному проекту, вроде известных сетевых СМИ.
Что это за птица с подрезанными крыльями?

Neoweb

  • Гость
Подскажите, как сделать чтобы индексная страница отличалась от главных страниц категорий? На главной должен присутствовать небольшой кусок текста. А при внесении изменений  в шаблон, меняются и страницы категорий.

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Neoweb, нужно задать в cfg.cfg индексную страницу, отличную от index.html (shtml), припример index1.shtml , но это не очень хороший способ с точки зрения безопасности. Гораздо лучше - задать директорию генерации страниц, скажем, /main . В таком случае, в головной директории сайта вроде http://www.myname.ru/index.shtml мы можем творить всё, что заблагорассудится, а  индексные страницы разделов будут такими, как задано в шаблоне index.txt.

Теперь к вопросу о том, что делать с этой новой индексной страницей. Как ее генерировать? Очень просто. Используем SSI (учтите, страницы, должны иметь расширение shtml (в большинстве случаев настойки сервера)):

Прежде всего, проверьте, установлена ли в cfg.cfg функция генерации текстовых списков новостей (там что-то сказано про любителей PHP и SSI, я не помню, как называется пункт меню)

Туда, где необходимо выводить все заголовки новостей, в заготовке новой (главной) индексной страницы, вставляем:

<--!#inclide virtual=\'/news/index.txt\'-->

Новости будут выводиться в формате, заданном в файле шаблона /tmp_main/news.txt

для того, чтобы выводить новости разделов, поставляем в нужных местах

<--!#inclide virtual=\'/news/[номер категории].txt\'-->

В случае, если сервер не поддерживает SSI (бывает на бесплатных серверах, но редко), можно подставить



Этот способ с JavaScript применяется также для трансляции заголовков новостей на дружественные сервера. Скажем, желающие поставить у себя на сайте заголовки раздела интервью с моего сайта, могут поставить следующий код:

Что это за птица с подрезанными крыльями?

Neoweb

  • Гость
Спасибо за помощ.
Раскажите ещё что нить о скрытых возможностях. Например о "Главной новости".

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Итак, продолжим.

Sanitarium позволяет не только публиковать новости, но и выделять их, как главные. Тем самым скрипт приближается по возможностям к большим "продвинутым" программам, на которых работают большие и серьезные новостные ленты (приближается, это мягкое слово, но его возможностей более чем достаточно для сайтов, в которых нет необходимости каждый час менять так называемую "Главную новость" - это точно. В платных скриптах все реализовано попроще, но и из Санитариума можно выжать немало. Сейчас попробую Вас в этом убедить).

Итак, прежде всего нам необходимо создать новый шаблон. Скопируем его из того шаблона, который обычно используется. Назовем его, к примеру, tmp-lite

Прежде всего в этом шаблоне отредактируем файл index.txt

Вместо надписи <%content%> вводим некий текст, скажем, информацию о сайте, телефоны, условия размещения рекламы и прочее, что может прийти в голову. Эта страница  станет для нашего сайта неким скрытым порталом. Посторонний никогда не догадается, что на самом деле скрывается за этой страничкой. А скрывается там все то, что Вам прежде приходилось править, получая доступ к сайту по FTP-протоколу. Отныне все элементы, подключаемые через (не считая CGI-скриптов), можно будет менять, не выходя из нашего Административного модуля.

Но для этого нам потребуется отредактировать еще один файл шаблона tmp-lite, а именно article. Прежде всего, убедитесь, что Вы редактируете именно этот файл этого шаблона. Выделяем все содержимое этого файла и .... стираем его. Файл должен существовать на сервере, но остаться пустым!

Позвольте, воскликнет изумленный пользователь. Так в этом случае каждая статья под этим шаблоном будет выглядеть, как заблагорассудится! Именно, друзья мои. Как заблагорассудится. Этого мы и добивались.

В "продвинутых" платных программах, для того, чтобы сделать новость Главной, достаточно нажать одну кнопочку и все произойдет само собой. Нам же придется немного потрудится. Чуть-чуть. Нажать три или четыре кнопочки.

Что из себя представляет ГЛАВНАЯ НОВОСТЬ и "Новость раздела"? Это тот же некоего файла, в котором есть Большая (или маленькая) иллюстрация.

Создаем новую "категорию" "о себе любимом" и присваиваем ей шаблон "tmp-lite". Теперь у нас в меню даже автоматически появилась ссылка "о компании" (или как Вы эту категорию обзовете). Теперь в этой категории создаем статью, которую называем "Главная новость" (не забываем заполнять поле preview, оно не будет отображаться на публике, но человеку, который будет менять содержание этих статей будет легче в них разбираться. К тому же, без заполнения этого поля статью невозможно опубликовать).

Вводим содержание Главной Новости, подставляя, где необходимо, теги оформления текста и места для рисунков, публикуем ее. Запоминаем номер статьи, нам это сейчас пригодится.

Теперь на индексной странице сайта (как я уже рассказывал, сделанной отдельно от основного "движка") в нужном месте подставляем тег



, где dir - директория вроде main, куда скриптом генерятся все страницы (может отсутствовать),
cat_num - номер категории под названием "о нас любимых"
id - номер страницы (публикации), под названием "Главная новость".

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

Этот прием можно использовать для создания Главных Новостей разделов, заголовки которых транслируются на главную страницу, вставки блока "главные новости" или "материалы номера" на внутренних страницах сайта, замены автоматически создаваемого МЕНЮ на исправляемое вручную (особенно удобно, поскольку в Sanitarium не предусмотрена возможность изменения очередности пунктов меню), изменения header и footer страниц.

Пример эффективного использования возможностей Sanitarium, как всегда, можно найти на сайте
http://www.themes.ru/

Если что-то не понятно или интересуют другие варианты нетрадиционного использования возможностей программы - задавайте Ваши вопросы, постараюсь ответить.
Что это за птица с подрезанными крыльями?

Оффлайн 2step gungsta

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.allchina.ru
Ни хрена не понял =)

Оффлайн 2step gungsta

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.allchina.ru
Цитировать
Вместо надписи <%content%> вводим некий текст, скажем, информацию о сайте, телефоны, условия размещения рекламы и прочее, что может прийти в голову. Эта страница станет для нашего сайта неким скрытым порталом. Посторонний никогда не догадается, что на самом деле скрывается за этой страничкой. А скрывается там все то, что Вам прежде приходилось править, получая доступ к сайту по FTP-протоколу. Отныне все элементы, подключаемые через (не считая CGI-скриптов), можно будет менять, не выходя из нашего Административного модуля.

можно ещё раз объяснить ?
спасибо

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Попробую. Итак, в шаблоне index.txt мы убираем поле <%content%>, ибо оно будет выводить на индекной странице раздела "о сайте" список "секретных" публикаций - нам это не нужно.

Положим, нам надо вставить на индексную страницу сайта материалы следующей статьи № 629 из категории 10 ("о сайте") (она будет "главной новостью" - неким анонсом материала статьи , № 646 в категории 1 (новости):


    http://kino.themes.ru/1/646_1.shtml">Набросок сценария фильма "Блэйд Ш" был одобрен чиновниками Marvel Comics и New Line Cinema. >>>


для примера, она на сайте выглядит следующим образом (напоминаю, используется пустой шаблон)

http://kino.themes.ru/10/629_1.shtml


 для вставки на индексную страницу (положим)  используем SSI:

Что это за птица с подрезанными крыльями?

Оффлайн 2step gungsta

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 29
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.allchina.ru
большое ПАСИБО!

Оффлайн Gogik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
А вот что посоветуете если такая проблема:
Надо чтобы на индексной таблице статьи выводились не друг за другом списком, а в двух колонках - т.е. определенные категории в правой, а остальные в левой. У меня есть идея добавить в базу еще одно поле, главенствующее над полем категория, оно бы определяло право или лево... Но как это сделать в обработке шаблонов. Подскажите, хотя бы на какой участок кода обратить внимание. Или может еще какие-нибудь идеи будут...

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Зачем так заморачиваться? Лучший выход - сделать индексную страницу, отделную от системы и задать там две колонки (или столько, сколько хочется). Пример www.themes.ru
Что это за птица с подрезанными крыльями?

Оффлайн Gogik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
У Вас там реализовано так, что определенная тема в определенной колонке, а если надо так, чтобы в колонке была не одна категория, а несколько... определенных.

Оффлайн Ptiza

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.themes.ru/
Тогда можно в этой колонке несколько тем подряд запустить без разделителей. Выборочно публиковать заголовки автоматически невозможно (без внесения изменений в код скрипта). Только по категориям. Да и нужно ли?
Что это за птица с подрезанными крыльями?

Danny

  • Гость
Слушай, а как сделать так, чтобы количество новостей в лентах было разное: на одну категорию - одно, на другую - другое? Или это нефозможно?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28