Шаблоны

  1. Введение

  2. Список команд шаблонов

  3. Request

  4. Список свойств объекта thumb

  5. Список свойств объекта preview

  6. Custom error pages

  7. Search

Введение

Шаблоны это основа дизайна вашего сайта. Шаблоны представляют собой обычные *.php файлы в которые вставляются инструкции позволяющие управлять отображением контента. Если вы знаете html то вам достаточно взять готовый шаблон идущий в поставке и отредактировать html код не трогая инструкции заключенные между символами <?  ?> чтобы получить готвый к работе сайт

Шаблоны расположены в папке templates. Существует три типа шаблонов (подпапки layouts, site, sub). Рассмотрим их назначение:

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

Список команд шаблонов

В квадратные скобки [] заключены необязательные параметры. В скобках указана область применения команды (L - layout, С - шаблон контента (папка site), S - субшаблон)

<?=Inxy::action()?> (LCS)
Выводит имя текущего шаблона контента
<?=Inxy::category()?> (LCS)
Выводит имя текущей категории
<?=Inxy::categoriesByCtr(['categories_by_ctr'[, 300]])?> (LC)
Выводит список категорий отсортированных по CTR, используется субшаблон categories_by_ctr
<?=Inxy::categoriesByLastClicks(['categories_by_last_clicks'[, 300]])?> (LC)
Выводит список категорий отсортированных по количеству кликов за последний реранк, используется субшаблон categories_by_last_clicks
<?=Inxy::categoriesByName(['categories_by_name'[, 300]])?> (LC)
Выводит список категорий отсортированных названию, используется субшаблон categories_by_name
<?=Inxy::description()?> (LC)
Выводит описание сайта (задается в настройках) на страницах с тумбами, на странице галереи выводит описание галереи
<?=Inxy::ifActionMatch(val, [true 'highlight'[, false 'default']])?> (LC)
Возвращает true если имя текущего действия совпадат с val иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::ifAllMatch([true 'highlight'[, false 'default']])?> (LC)
Возвращает true если текущая группа All иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::ifCategoryMatch(val, [true 'highlight'[, false 'default']])?> (LC)
Возвращает true если имя текущей категории совпадат с val иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::ifMovMatch([true 'highlight'[, false 'default']])?> (LC)
Возвращает true если текущая группа Mov иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::ifPicMatch([true 'highlight'[, false 'default']])?> (LC)
Возвращает true если текущая группа Pic иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::ifTagMatch(val, [true 'highlight'[, false 'default']])?> (LC)
Возвращает true если имя текущего тага совпадат с val иначе возвращает false. Используется для задания различных CSS стилей активным и не активным пунктам меню
<?=Inxy::isAll() ?> (LC)
Возвращает true если текущая группа All иначе возвращает false.
<?=Inxy::isMov() ?> (LC)
Возвращает true если текущая группа Mov иначе возвращает false.
<?=Inxy::isPic() ?> (LC)
Возвращает true если текущая группа Pic иначе возвращает false.
<?=Inxy::join(itemstemplateseparator?> (LC)
Объединяет массив items используя субшаблон template и разделитель separator
<?=Inxy::keywords()?> (L)
Выводит список ключевых слов (генерируется автоматически для каждой страницы)
<?=Inxy::name()?> (L)
Выводит заголовок сайта (задается в настройках)
<?Inxy::orderByCtr()?> (C)
Задает порядок сортировки тумб по CTR
<?Inxy::orderByDater()?> (C)
Задает порядок сортировки тумб по дате
<?=Inxy::paginator()?> (C)
Выводит список страниц (архив)
<?Inxy::setLayout(name)?> (C)
Задает макет который должен испольоваться со страницей контента (по умолчанию main)
<?Inxy::setThumbSub(name [, use_prefix false])?> (C)
задает субшаблон который будет использоваться для вывода тумб
<?=Inxy::tag()?> (LC)
Выводит текущий таг
<?=Inxy::tagsByName(offsetlimittemplate)?> (LC)
Выводит максимум limit тагов отсортированных по имени начиная с offset используя субшаблон template
<?=Inxy::tagsByWeight(offsetlimittemplate)?> (LC)
Выводит максимум limit тагов отсортированных по популярности начиная с offset используя субшаблон template
<?=Inxy::title()?> (L)
Выводит заголовок сайта (задается в настройках) на страницах с тумбами, на странице галереи выводит заголовок галереи, на странице категории выводит заголовок категории (если задан)
<?=Inxy::test([count 1])?> (C)
Выводит count тестовых тумб
<?=Inxy::thumb([count 1])?> (C)
Выводит count тумб
<?=Inxy::total()?> (L)
Выводит общее количество галерей
<?=Inxy::totalNew()?> (L)
Выводит количество галерей в группе сделанных за последние 24 часа
<?=Inxy::tplUrl()?> (LCS)
относительный урл к папке с шаблонами
<?=Inxy::url(template)?> (LCS)
Выводит урл для действия template
<?=Inxy::virtual()?> (L)
замена функции php virtual которая некореектно работает с INXY

Request

Using request you can detect and output current user's location

Example:

Список свойств объекта thumb

В квадратные скобки [] заключены необязательные параметры.

<?=$thumb->categories?>
Массив имен категорий
<?=$thumb->click_url?>
Урл клика (через трэйд скрипт)
<?=$thumb->description?>
Описание галереи
<?=$thumb->gallery_url?>
Прямая ссылка на галерею
<?=$thumb->gallery_url?>
Прямая ссылка на галерею
<?=$thumb->height?>
Высота изображения
<?=$thumb->img_url?>
Ссылка на файл в медахранилище
<?=$thumb->publish_dt?>
Дата публикации на сайте, формат задается в настройках
<?=$thumb->title?>
Заголовок галереи

Список свойств объекта preview

В квадратные скобки [] заключены необязательные параметры.

<?=$thumb->url?>
Ссылка на изображение сохраненное на вашем сайте
<?=$thumb->src_url?>
Ссылка на оригинальное изображение
<?=$thumb->media?>
Ссылка на объект media

Custom error pages

Since version 1.06 you can create custom error pages for http errors raised by script (404, 502 etc)

To create custom error page:

  1. Create layouts/error.php layout
  2. Create system/error.php template

Layout is similar to any other layout you have, but some function unavailable (Inxy::title(), Inxy::description(), Inxy::paginator()).

Template example:


<?php $messages = array(

    
404 => "Page not found",
    
503 => "Server busy",

)
?>
<h1><?=$e->status?></h1> 
<p><?=isset($messages[$e->status]) ? $messages[$e->status] : "Unknown error"?></p>

Search

WARNING THIS IS IS AN EXPERIMENTAL EXTENSION!

Using sphinx you can easy add search to you Iinxy site.

  1. Create sphinx source
    source domain_name
    {
    	type		= mysql
    	sql_host	= localhost
    	sql_user	= your_inxy_db_user	
    	sql_pass	= your_inxy_db_pass
    	sql_db		= your_inxy_db
    
    	sql_query				= \
    		SELECT rt.rotation_id, title, categories, tags, description, rt.content_type_id \
    		FROM gals g JOIN rotation rt ON rt.gal_id = g.gal_id WHERE g.status_id = 3 AND g.disabled_sum = 0 AND rt.category_id IN (1,2,3)
     	  
    	sql_attr_uint = content_type_id
    
    	sql_query_info	= SELECT * FROM rotation WHERE rotation_id=$id
    }
    
  2. Create sphinx index
  3. Create config inxy/var/config/sphinx.php. Example:
    
    
    <?
    return array(
      
    "host" => "localhost",
      
    "port" => 3312,
      
    "index" => "sphinx_index_name"
    );
    ?>
  4. Add to cron command to update you index
  5. Add to your template this code
    
    
    <form action="/">
    <input type="text" name="q">
    <input class="submit" type="submit"  value="Find" />
    </form>
  6. Create template site/search.php, use <?=Inxy::req()->search?> to output search request