lsnull
Постоялец
- Регистрация
- 18 Сен 2013
- Сообщения
- 379
- Реакции
- 125
- Автор темы
- #1
Всем привет.
Решил попробовать сделать мини плагин, а так же доработать один функционал в другой плагин.
Кто разрабатывает и улучшает функционал, можете делится здесь.
В этой теме могут быть личные плагины, личные доработки для авторских плагинов и шаблонов из каталога Osclass.
1) Плагин "Hide Admin Header" (скрывает панель админки на сайте в шапке)

2) Добавил в плагин /payments/shipping дополнительный функционал:
ДОСТАВКА
Shipping fee type (добавлена возможность выбрать "Стоимость по тарифам перевозчика"
Нужно сделать запрос в БД:
И загрузить папку в \oc-content\plugins\osclass_pay из архива model.rar
Что бы добавить колонку.
Так как по умолчанию нужно обязательно указать стоимость.


3) Исправлен курс валют и обновление курса валют. Теперь обновляется и нет ошибок при обновлении.

Что было реализованно в oc-content\plugins\osclass_pay\functions.php:
Заменил file_get_contents на cURL с HTTPS URL, добавил таймаут и отключил SSL верификацию для совместимости. Теперь функция использует более надежный способ запросов к API, что должно устранить ошибки "Failed to fetch data from API".
Функция osp_get_currency_rates теперь делает один запрос к API с base=EUR и всеми валютами как symbols, затем рассчитывает cross rates для всех пар валют. Это решает проблему с неправильными курсами, так как бесплатный план exchangeratesapi.io поддерживает только EUR как base currency. Теперь курсы будут корректными.
Загрузить в корень плагина из архива
Создал новый плагин "Zeta Image Slider" для шаблона Zeta
Данный шаблон выводит на странице /search в карточках товара счетчик изображений , при клике на данный счетчик, открывается предпросмотр изображений из галереи объявления.
Через osc_resource_original_url(). Плагин Zeta Image Slider добавляет кнопку с счетчиком изображений на объявления с >1 фото, при клике открывает popup-галерею с оригинальными изображениями и возможностью переключения.
Изменения в шаблоне Zeta:
После кода в файле oc-content\themes\zeta\head.php:
Вставляем:
После кода:
Вставить:
Или просто заменить head.php


Теперь порядок изображений в объявлении можно менять перетаскиванием на странице редактирования.

Модификация
Обновил "Поделится" товаром, в шаблоне Zeta:
Дополнительные изменения: Исправление кнопки "Поделится" (Share)
7. oc-content/themes/zeta/item.php
Изменение: Добавлен fallback для кнопки share при отсутствии поддержки Web Share API.
JavaScript изменен:
Если браузер поддерживает Web Share API, используется нативный интерфейс. Иначе показывается popup с ссылками на социальные сети.
8. oc-content/themes/zeta/css/style-modification.css
Изменение: Добавлены стили для popup окна share.
CSS добавлен:
Стили для popup окна с ссылками на социальные сети (Facebook, Twitter, Pinterest, WhatsApp, Telegram, Instagram, Send to friend).

За данный плагин и функционал пишите в Тему!





Вывел в Конфигурацию шаблона Disable Admin Toolbar on Frontend (скрытие админ-панели на сайте)
Работает без плагина. Hide Admin Header




Решил попробовать сделать мини плагин, а так же доработать один функционал в другой плагин.
Кто разрабатывает и улучшает функционал, можете делится здесь.
В этой теме могут быть личные плагины, личные доработки для авторских плагинов и шаблонов из каталога Osclass.
1) Плагин "Hide Admin Header" (скрывает панель админки на сайте в шапке)

2) Добавил в плагин /payments/shipping дополнительный функционал:
ДОСТАВКА
Shipping fee type (добавлена возможность выбрать "Стоимость по тарифам перевозчика"
Нужно сделать запрос в БД:
Код:
ALTER TABLE oc_t_osp_shipping ADD COLUMN b_carrier_tariff TINYINT(1) DEFAULT 0;
Что бы добавить колонку.
Так как по умолчанию нужно обязательно указать стоимость.


3) Исправлен курс валют и обновление курса валют. Теперь обновляется и нет ошибок при обновлении.

Что было реализованно в oc-content\plugins\osclass_pay\functions.php:
Заменил file_get_contents на cURL с HTTPS URL, добавил таймаут и отключил SSL верификацию для совместимости. Теперь функция использует более надежный способ запросов к API, что должно устранить ошибки "Failed to fetch data from API".
Функция osp_get_currency_rates теперь делает один запрос к API с base=EUR и всеми валютами как symbols, затем рассчитывает cross rates для всех пар валют. Это решает проблему с неправильными курсами, так как бесплатный план exchangeratesapi.io поддерживает только EUR как base currency. Теперь курсы будут корректными.
Загрузить в корень плагина из архива
Создал новый плагин "Zeta Image Slider" для шаблона Zeta
Данный шаблон выводит на странице /search в карточках товара счетчик изображений , при клике на данный счетчик, открывается предпросмотр изображений из галереи объявления.
Через osc_resource_original_url(). Плагин Zeta Image Slider добавляет кнопку с счетчиком изображений на объявления с >1 фото, при клике открывает popup-галерею с оригинальными изображениями и возможностью переключения.
Изменения в шаблоне Zeta:
После кода в файле oc-content\themes\zeta\head.php:
Код:
if(osc_is_ad_page() || (osc_get_osclass_location() == 'item' && osc_get_osclass_section() == 'send_friend')) {
osc_enqueue_script('swiper');
osc_enqueue_script('lightgallery');
}
Код:
if(osc_is_search_page()) {
osc_enqueue_script('fancybox');
}
После кода:
Код:
osc_register_script('lightgallery', 'https://cdnjs.cloudflare.com/ajax/libs/lightgallery/1.10.0/js/lightgallery-all.min.js');
Код:
osc_register_script('fancybox', 'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js');
Или просто заменить head.php


В шаблоне Zeta реализовал drag and drop с jQuery UI sortable для страницы редактирования объявлений.
Теперь порядок изображений в объявлении можно менять перетаскиванием на странице редактирования.

Модификация
Обновил "Поделится" товаром, в шаблоне Zeta:
Дополнительные изменения: Исправление кнопки "Поделится" (Share)
7. oc-content/themes/zeta/item.php
Изменение: Добавлен fallback для кнопки share при отсутствии поддержки Web Share API.
JavaScript изменен:
Код:
// SHARE BUTTON
$('.mlink.share, #item-sticky-box .btn-regular.share').on('click', () => {
if(navigator.share) {
navigator.share({
title: '<?php echo osc_esc_js(osc_highlight(osc_item_title(), 40) . ' - ' . osc_item_formated_price()); ?>',
text: '<?php echo osc_esc_js(osc_highlight(osc_item_title(), 40) . ' - ' . osc_item_formated_price()); ?>',
url: '<?php echo osc_esc_js(osc_item_url()); ?>',
}).catch((error) => console.log('ERROR: ', error));
} else {
// Fallback for browsers without Web Share API
$('.share-item-data').fadeToggle(200);
}
return false;
});
Если браузер поддерживает Web Share API, используется нативный интерфейс. Иначе показывается popup с ссылками на социальные сети.
8. oc-content/themes/zeta/css/style-modification.css
Изменение: Добавлены стили для popup окна share.
CSS добавлен:
Код:
/* Share popup styles */
.share-item-data {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: white;
border: 1px solid #ddd;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
padding: 15px;
z-index: 500;
min-width: 200px;
display: none;
}
.share-item-data a {
display: block;
padding: 8px 12px;
margin-bottom: 5px;
text-decoration: none;
color: #333;
border-radius: 4px;
transition: background-color 0.2s;
}
.share-item-data a:hover {
background-color: #f5f5f5;
}
.share-item-data a i {
margin-right: 8px;
width: 16px;
text-align: center;
}
.share-item-data a:last-child {
margin-bottom: 0;
}
Стили для popup окна с ссылками на социальные сети (Facebook, Twitter, Pinterest, WhatsApp, Telegram, Instagram, Send to friend).

За данный плагин и функционал пишите в Тему!
Реализованная функциональность для плагина Online Chat Plugin:
oc-content\plugins\online_chat
1. Обновление структуры базы данных
- Добавлены поля i_edited (флаг редактирования) и dt_edited (время редактирования) в таблицу t_oc_chat
- Создан файл struct_update.sql для обновления существующих установок
2. Backend изменения
- ModelOC.php: Добавлен метод updateMessage() для безопасного обновления сообщений (только владелец может редактировать)
- index.php: Добавлен AJAX обработчик ocEditMessage для обработки запросов на редактирование
- Обновлена логика установки с проверкой версии и автоматическим обновлением структуры
3. Frontend изменения
- user/chat.php: Добавлена иконка редактирования для собственных сообщений и индикатор "(отредактировано)" для измененных сообщений
- user.js: Реализован полный цикл редактирования с inline формой, кнопками Save/Cancel и поддержкой горячих клавиш (Enter для сохранения, Escape для отмены)
- user.css: Добавлены стили для кнопки редактирования, формы редактирования и индикатора
4. Безопасность и UX
- Пользователи могут редактировать только свои собственные сообщения
- Валидация на backend уровне
- Интуитивный интерфейс с hover эффектами
- Поддержка отмены редактирования
5. Обновление версии
- Версия плагина обновлена до 2.4.0
- Полная документация изменений в zeta_theme_changes.md



Категории в шаблоне Zeta
Функциональность кнопки "Показать больше/Скрыть обратно"
Что было сделано:
Изменения в коде:
- Файл: oc-content/themes/zeta/js/global.js
- Функциональность: Переключение состояния кнопки категорий
Как работает:
- По умолчанию: Показывается 11 категорий + кнопка "Показать больше" с иконкой многоточия
- При клике:
- Показываются все скрытые категории
- Текст меняется на "Скрыть обратно"
- Иконка меняется на минус
- При повторном клике:
- Категории скрываются обратно
- Текст возвращается к "Показать больше"
- Иконка возвращается к многоточию
Визуальные изменения:
- Плавные анимации fadeIn/fadeOut для категорий
- Динамическое изменение текста кнопки
- Смена иконок FontAwesome (ellipsis-h ↔ minus)
Документация обновлена:
- Добавлен раздел 5 с подробным описанием изменений
- Включены код ДО/ПОСЛЕ
- Объяснение логики работы

Вывел в Конфигурацию шаблона Disable Admin Toolbar on Frontend (скрытие админ-панели на сайте)
Работает без плагина. Hide Admin Header




Вложения
Последнее редактирование: