Osclass — это популярная система для создания досок объявлений с открытым исходным кодом. Разработка собственного шаблона позволяет создать уникальный дизайн и функционал для вашего сайта. В этой статье я расскажу, как разработать шаблон для Osclass с нуля.
Подготовка к разработке
-
Установка Osclass
-
Скачайте последнюю версию с нашего сайта
-
Установите на локальный сервер или хостинг
-
-
Структура шаблонов
-
Шаблоны находятся в папке
/oc-content/themes/
-
Изучите структуру стандартных шаблонов (modern, bender)
-
Создание базовой структуры шаблона
-
Создайте новую папку для вашего шаблона, например
/oc-content/themes/my_theme/
-
Создайте обязательные файлы:
-
index.php
— главная страница -
header.php
— шапка сайта -
footer.php
— подвал сайта -
functions.php
— пользовательские функции -
main.css
— основные стили -
info.php
— информация о шаблоне
-
Файл info.php (не обязательно)
Этот файл содержит мета-информацию о вашем шаблоне:
<?php
return array(
'name' => 'My Custom Theme',
'version' => '1.0',
'description' => 'Описание вашего шаблона',
'author_name' => 'Ваше имя',
'author_url' => 'https://вашсайт.ru',
'locations' => array('header', 'footer')
);
?>
Основные файлы шаблона
header.php
<!DOCTYPE html>
<html lang="<?php echo str_replace('_', '-', osc_current_user_locale()); ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo osc_page_title(); ?></title>
<?php osc_meta_keywords(); ?>
<?php osc_run_hook('header'); ?>
<link rel="stylesheet" href="<?php echo osc_current_web_theme_url('main.css'); ?>">
</head>
<body>
<header>
<div class="logo">
<a href="<?php echo osc_base_url(); ?>"><?php echo osc_page_title(); ?></a>
</div>
<nav>
<?php osc_goto_first_category(); ?>
<?php while ( osc_has_categories() ) { ?>
<a href="<?php echo osc_search_category_url(); ?>"><?php echo osc_category_name(); ?></a>
<?php } ?>
</nav>
</header>
<main>
footer.php
</main>
<footer>
<p>© <?php echo date('Y'); ?> <?php echo osc_page_title(); ?></p>
<?php osc_run_hook('footer'); ?>
</footer>
</body>
</html>
index.php
<?php osc_current_web_theme_path('header.php'); ?>
<h1><?php echo osc_page_title(); ?></h1>
<?php if( osc_count_latest_items() == 0) { ?>
<p>Нет объявлений</p>
<?php } else { ?>
<div class="items">
<?php while ( osc_has_latest_items() ) { ?>
<div class="item">
<h3><a href="<?php echo osc_item_url(); ?>"><?php echo osc_item_title(); ?></a></h3>
<p><?php echo osc_item_description(); ?></p>
<p>Цена: <?php echo osc_item_formated_price(); ?></p>
<p>Категория: <a href="<?php echo osc_item_category_url(); ?>"><?php echo osc_item_category_name(); ?></a></p>
</div>
<?php } ?>
</div>
<?php } ?>
<?php osc_current_web_theme_path('footer.php'); ?>
Добавление пользовательских функций (functions.php)
<?php
// Пример пользовательской функции для вывода списка категорий
function my_theme_categories_list() {
echo '<ul class="categories">';
osc_goto_first_category();
while ( osc_has_categories() ) {
echo '<li><a href="'.osc_search_category_url().'">'.osc_category_name().'</a></li>';
}
echo '</ul>';
}
// Добавление поддержки миниатюр
function my_theme_thumbnail() {
if( osc_images_enabled_at_items() ) {
if( osc_count_item_resources() > 0 ) {
echo '<img src="'.osc_resource_thumbnail_url().'" alt="'.osc_item_title().'">';
} else {
echo '<img src="'.osc_current_web_theme_url('images/no_photo.gif').'" alt="Разработка шаблона для доски объявлений на Osclass">';
}
}
}
?>
Создание CSS стилей (main.css)
/* Основные стили */
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
color: #333;
}
header {
background: #f8f8f8;
padding: 20px;
border-bottom: 1px solid #eee;
}
.logo a {
font-size: 24px;
font-weight: bold;
text-decoration: none;
color: #333;
}
nav a {
margin-right: 15px;
text-decoration: none;
color: #555;
}
.items {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
padding: 20px;
}
.item {
border: 1px solid #ddd;
padding: 15px;
border-radius: 5px;
}
footer {
text-align: center;
padding: 20px;
background: #f8f8f8;
border-top: 1px solid #eee;
}
Дополнительные возможности
-
Поддержка плагинов
-
Добавьте в шаблон хуки для плагинов с помощью
osc_run_hook()
-
-
Адаптивный дизайн
-
Используйте медиа-запросы в CSS для мобильных устройств
-
-
Кастомизация страниц
-
Создайте отдельные файлы для разных страниц:
-
item.php
— страница объявления -
search.php
— страница поиска -
contact.php
— страница контактов
-
-
-
Поддержка языков
-
Добавьте переводы в папку
languages/
вашего шаблона
-
Тестирование и публикация
-
Протестируйте шаблон на разных устройствах и браузерах
-
Проверьте совместимость с популярными плагинами Osclass
-
Упакуйте шаблон в zip-архив для распространения
Заключение
Создание собственного шаблона для Osclass требует знаний HTML, CSS, PHP и понимания структуры системы. Начните с простого шаблона, постепенно добавляя новые функции. Изучайте стандартные шаблоны Osclass и документацию для более глубокого понимания возможностей системы.
Готовый шаблон можно опубликовать на нашем сайте или использовать для своих проектов.