Другое Development

lsnull

Постоялец
Регистрация
18 Сен 2013
Сообщения
379
Реакции
125
Всем привет.
Решил попробовать сделать мини плагин, а так же доработать один функционал в другой плагин.
Кто разрабатывает и улучшает функционал, можете делится здесь.
В этой теме могут быть личные плагины, личные доработки для авторских плагинов и шаблонов из каталога Osclass.

1) Плагин "Hide Admin Header" (скрывает панель админки на сайте в шапке)

1763838030728.png

2) Добавил в плагин /payments/shipping дополнительный функционал:
ДОСТАВКА

Shipping fee type (добавлена возможность выбрать "Стоимость по тарифам перевозчика"
Нужно сделать запрос в БД:
Код:
ALTER TABLE oc_t_osp_shipping ADD COLUMN b_carrier_tariff TINYINT(1) DEFAULT 0;
И загрузить папку в \oc-content\plugins\osclass_pay из архива model.rar
Что бы добавить колонку.
Так как по умолчанию нужно обязательно указать стоимость.

1763838611369.png1763838644467.png

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

Что было реализованно в 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
1763851694839.png




1763902236538.png



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


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

1763920049226.png


Модификация


Обновил "Поделится" товаром, в шаблоне 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).

1763922906267.png



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

Реализованная функциональность для плагина 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
Теперь пользователи могут исправлять опечатки и ошибки в своих сообщениях в чате, что значительно улучшает пользовательский опыт!

1763926540391.png1763926600069.png1763926624134.png

Категории в шаблоне Zeta​

Функциональность кнопки "Показать больше/Скрыть обратно"

🎯 Что было сделано:

🔧 Изменения в коде:

  • Файл: oc-content/themes/zeta/js/global.js
  • Функциональность: Переключение состояния кнопки категорий

📱 Как работает:

  1. По умолчанию: Показывается 11 категорий + кнопка "Показать больше" с иконкой многоточия
  2. При клике:
    • Показываются все скрытые категории
    • Текст меняется на "Скрыть обратно"
    • Иконка меняется на минус
  3. При повторном клике:
    • Категории скрываются обратно
    • Текст возвращается к "Показать больше"
    • Иконка возвращается к многоточию

🎨 Визуальные изменения:

  • Плавные анимации fadeIn/fadeOut для категорий
  • Динамическое изменение текста кнопки
  • Смена иконок FontAwesome (ellipsis-h ↔ minus)

📚 Документация обновлена:

  • Добавлен раздел 5 с подробным описанием изменений
  • Включены код ДО/ПОСЛЕ
  • Объяснение логики работы
Теперь пользователи могут легко сворачивать категории обратно, если они им не нужны, что значительно улучшает пользовательский опыт на страницах поиска с большим количеством подкатегорий! 🚀

Screenshot_244.png Screenshot_243.png




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

1763930012966.png

1763930271970.png

1763930307271.png
1763930372107.png
 

Вложения

  • hide_admin_header.rar
    651 байт · Просмотры: 1
  • model.rar
    21,7 KB · Просмотры: 1
  • functions.rar
    32,2 KB · Просмотры: 0
  • 1763852439094.png
    1763852439094.png
    1,6 MB · Просмотры: 10
  • zeta_image_slider.rar
    3,2 KB · Просмотры: 0
  • head.rar
    2,4 KB · Просмотры: 0
Последнее редактирование:
Назад
Сверху