Общие вопросы Расширение функционала и исправление багов

Тема в разделе "Osclass", создана пользователем badaboom, 19 авг 2018.

Метки:
  1. badaboom

    badaboom Постоялец

    Регистр.:
    19 фев 2018
    Сообщения:
    129
    Симпатии:
    49
    Тема создана для публикации уже готовых и проверенных решений для Osclass.

    Включение транслитерации в урл адресах и названиях категорий (cyrillic to lat:(
    1. Включаем ЧПУ в админке (/oc-admin/index.php?page=settings&action=permalinks), сохраняем изменения.
    2. Открываем в текстовом редакторе файл formatting.php в папке \oc-includes\osclass
    3. Находим строку chr(226).chr(130).chr(172) => 'E',
    4. После нее добавляем код и сохраняем файл:
    Код:
            //Transliteration for Cyrillic
    chr(192),chr(208).chr(144) => 'a', // А
    chr(224),chr(208).chr(176) => 'a', // а
    chr(193),chr(208).chr(145) => 'b', // Б
    chr(225),chr(208).chr(177) => 'b', // б
    chr(194),chr(208).chr(146) => 'v', // В
    chr(226),chr(208).chr(178) => 'v', // в
    chr(195),chr(208).chr(147) => 'g', // Г
    chr(227),chr(208).chr(179) => 'g', // г
    chr(196),chr(208).chr(148) => 'd', // Д
    chr(228),chr(208).chr(180) => 'd', // д
    chr(197),chr(208).chr(149) => 'e', // Е
    chr(229),chr(208).chr(181) => 'e', // е
    chr(168),chr(208).chr(129) => 'yo', // Ё
    chr(184),chr(209).chr(145) => 'yo', // ё
    chr(198),chr(208).chr(150) => 'zh', // Ж
    chr(230),chr(208).chr(182) => 'zh', // ж
    chr(199),chr(208).chr(151) => 'z', // З
    chr(231),chr(208).chr(183) => 'z', // з
    chr(200),chr(208).chr(152) => 'i', // И
    chr(232),chr(208).chr(184) => 'i', // и
    chr(201),chr(208).chr(153) => 'j', // Й
    chr(233),chr(208).chr(185) => 'j', // й
    chr(202),chr(208).chr(154) => 'k', // К
    chr(234),chr(208).chr(186) => 'k', // к
    chr(203),chr(208).chr(155) => 'l', // Л
    chr(235),chr(208).chr(187) => 'l', // л
    chr(204),chr(208).chr(156) => 'm', // М
    chr(236),chr(208).chr(188) => 'm', // м
    chr(205),chr(208).chr(157) => 'n', // Н
    chr(237),chr(208).chr(189) => 'n', // н
    chr(206),chr(208).chr(158) => 'o', // О
    chr(238),chr(208).chr(190) => 'o', // о
    chr(207),chr(208).chr(159) => 'p', // П
    chr(239),chr(208).chr(191) => 'p', //п
    chr(208),chr(208).chr(160) => 'r', // Р
    chr(240),chr(209).chr(128) => 'r', // р
    chr(209),chr(208).chr(161) => 's', // С
    chr(241),chr(209).chr(129) => 's', // с
    chr(210),chr(208).chr(162) => 't', // Т
    chr(242),chr(209).chr(130) => 't', // т
    chr(211),chr(208).chr(163) => 'u', // У
    chr(243),chr(209).chr(131) => 'u', // у
    chr(212),chr(208).chr(164) => 'f', // Ф
    chr(244),chr(209).chr(132) => 'f', // ф
    chr(213),chr(208).chr(165) => 'h', // Х
    chr(245),chr(209).chr(133) => 'h', // х
    chr(214),chr(208).chr(166) => 'c', // Ц
    chr(246),chr(209).chr(134) => 'c', //ц
    chr(215),chr(208).chr(167) => 'ch', // Ч
    chr(247),chr(209).chr(135) => 'ch', // ч
    chr(216),chr(208).chr(168) => 'sh', // Ш
    chr(248),chr(209).chr(136) => 'sh', // ш
    chr(217),chr(208).chr(169) => 'sch', // Щ
    chr(249),chr(209).chr(137) => 'sch', // щ
    chr(218),chr(208).chr(170) => '', // Ъ
    chr(250),chr(209).chr(138) => '', // ъ
    chr(219),chr(208).chr(171) => 'y', // Ы
    chr(251),chr(209).chr(139) => 'y', // ы
    chr(220),chr(208).chr(172) => '', // Ь
    chr(252),chr(209).chr(140) => '', // ь
    chr(221),chr(208).chr(173) => 'e', // Э
    chr(253),chr(209).chr(141) => 'e', // э
    chr(222),chr(208).chr(174) => 'yu', // Ю
    chr(254),chr(209).chr(142) => 'yu', // ю
    chr(223),chr(208).chr(175) => 'ya', // Я
    chr(255),chr(209).chr(143) => 'ya', // я
    /* Цифры */
    chr(48) => '0', // 0
    chr(48).chr(48) => '00', // 00
    chr(48).chr(49) => '01', // 01
    chr(48).chr(50) => '02', // 02
    chr(48).chr(51) => '03', // 03
    chr(48).chr(52) => '04', // 04
    chr(48).chr(53) => '05', // 05
    chr(48).chr(54) => '06', // 06
    chr(48).chr(55) => '07', // 07
    chr(48).chr(56) => '08', // 08
    chr(48).chr(57) => '09', // 09
    chr(49) => '1', // 1
    chr(49).chr(48) => '10', // 10
    chr(49).chr(49) => '11', // 11
    chr(49).chr(50) => '12', // 12
    chr(49).chr(51) => '13', // 13
    chr(49).chr(52) => '14', // 14
    chr(49).chr(53) => '15', // 15
    chr(49).chr(54) => '16', // 16
    chr(49).chr(55) => '17', // 17
    chr(49).chr(56) => '18', // 18
    chr(49).chr(57) => '19', // 19
    chr(50) => '2', // 2
    chr(50).chr(48) => '20', // 20
    chr(50).chr(49) => '21', // 21
    chr(50).chr(50) => '22', // 22
    chr(50).chr(51) => '23', // 23
    chr(50).chr(52) => '24', // 24
    chr(50).chr(53) => '25', // 25
    chr(50).chr(54) => '26', // 26
    chr(50).chr(55) => '27', // 27
    chr(50).chr(56) => '28', // 28
    chr(50).chr(57) => '29', // 29
    chr(51) => '3', // 3
    chr(51).chr(48) => '30', // 30
    chr(51).chr(49) => '31', // 31
    chr(51).chr(50) => '32', // 32
    chr(51).chr(51) => '33', // 33
    chr(51).chr(52) => '34', // 34
    chr(51).chr(53) => '35', // 35
    chr(51).chr(54) => '36', // 36
    chr(51).chr(55) => '37', // 37
    chr(51).chr(56) => '38', // 38
    chr(51).chr(57) => '39', // 39
    chr(52) => '4', // 4
    chr(52).chr(48) => '40', // 40
    chr(52).chr(49) => '41', // 41
    chr(52).chr(50) => '42', // 42
    chr(52).chr(51) => '43', // 43
    chr(52).chr(52) => '44', // 44
    chr(52).chr(53) => '45', // 45
    chr(52).chr(54) => '46', // 46
    chr(52).chr(55) => '47', // 47
    chr(52).chr(56) => '48', // 48
    chr(52).chr(57) => '49', // 49
    chr(53) => '5', // 5
    chr(53).chr(48) => '50', // 50
    chr(53).chr(49) => '51', // 51
    chr(53).chr(50) => '52', // 52
    chr(53).chr(51) => '53', // 53
    chr(53).chr(52) => '54', // 54
    chr(53).chr(53) => '55', // 55
    chr(53).chr(54) => '56', // 56
    chr(53).chr(55) => '57', // 57
    chr(53).chr(56) => '58', // 58
    chr(53).chr(57) => '59', // 59
    chr(54) => '6', // 6
    chr(54).chr(48) => '60', // 60
    chr(54).chr(49) => '61', // 61
    chr(54).chr(50) => '62', // 62
    chr(54).chr(51) => '63', // 63
    chr(54).chr(52) => '64', // 64
    chr(54).chr(53) => '65', // 65
    chr(54).chr(54) => '66', // 66
    chr(54).chr(55) => '67', // 67
    chr(54).chr(56) => '68', // 68
    chr(54).chr(57) => '69', // 69
    chr(55) => '7', // 7
    chr(55).chr(48) => '70', // 70
    chr(55).chr(49) => '71', // 71
    chr(55).chr(50) => '72', // 72
    chr(55).chr(51) => '73', // 73
    chr(55).chr(52) => '74', // 74
    chr(55).chr(53) => '75', // 75
    chr(55).chr(54) => '76', // 76
    chr(55).chr(55) => '77', // 77
    chr(55).chr(56) => '78', // 78
    chr(55).chr(57) => '79', // 79
    chr(56) => '8', // 8
    chr(56).chr(48) => '80', // 80
    chr(56).chr(49) => '81', // 81
    chr(56).chr(50) => '82', // 82
    chr(56).chr(51) => '83', // 83
    chr(56).chr(52) => '84', // 84
    chr(56).chr(53) => '85', // 85
    chr(56).chr(54) => '86', // 86
    chr(56).chr(55) => '87', // 87
    chr(56).chr(56) => '88', // 88
    chr(56).chr(57) => '89', // 89
    chr(57) => '9', // 9
    chr(57).chr(48) => '90', // 90
    chr(57).chr(49) => '91', // 91
    chr(57).chr(50) => '92', // 92
    chr(57).chr(51) => '93', // 93
    chr(57).chr(52) => '94', // 94
    chr(57).chr(53) => '95', // 95
    chr(57).chr(54) => '96', // 96
    chr(57).chr(55) => '97', // 97
    chr(57).chr(56) => '98', // 98
    chr(57).chr(57) => '99', // 99
    Если до включения транслитерации были созданы категории, то следует их пересохранить в админке (/oc-admin/index.php?page=categories). Если нужно изменить транслитерацию отдельных символов, например, буквы й, правим нужный символ в коде выше.

    Исправление наложения кнопок при редактировании объявлений в админке:
    1. Открываем файл main.css в папке \oc-admin\themes\modern\css
    2. Находим #item-action-list
    3. Удаляем "height: 0" или исправляем на "height: 15px";
    4. Очищаем кеш браузера в настройках или на страницах (Ctrl + R) / (Ctrl + F5).
    Корректное переключение языков в категориях на мультиязычном сайте:

    Заменяем оригинальный файл /oc-includes/osclass/model/Category.php на модифицированный из вложения. Фикс проверялся и работает на Osclass 3.7.4.

    Ссылки по теме: обсуждение на оф. сайте и код на гите
     

    Вложения:

    • Category.rar
      Размер файла:
      6,4 КБ
      Просмотров:
      19
    Последнее редактирование: 5 сен 2018
    pro100john, maratismodest, Michael_Moscow и 3 другим нравится это.
  2. badaboom

    badaboom Постоялец

    Регистр.:
    19 фев 2018
    Сообщения:
    129
    Симпатии:
    49
    Как повторно активировать просроченное объявление через админку?
    1. Переходим на страницу объявлений (/oc-admin/index.php?page=items)
    2. Наводим курсор на объявление и кликаем по ссылке "Редактировать"
    3. В правой колонке внизу находим опцию "Срок актуальности"
    4. Кликаем по чекбоксу "Обновить актуальный срок объявления?"
    5. Вводим в текстовое поле целое число или дату в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (2018-11-20 18:59:00). Если указывается целое число, то оно прибавляется к исходной дате публикации. Например, если объява была опубликована 25.05.2018, и нужно обновить ее на два месяца вперед, то указываем число 60. Если после публикации объявы прошло больше двух месяцев, а нужно обновить еще на один месяц, то указываем 90. Если на год вперед, то указываем 365. Если ввести 0, то объява никогда не истечет и будет опубликована всегда.
    6. После ввода данных нажимаем Enter или кнопку "Обновить объявление" под формой редактирования в конце страницы
     
    Anastasiya96 и dmytr нравится это.
  3. badaboom

    badaboom Постоялец

    Регистр.:
    19 фев 2018
    Сообщения:
    129
    Симпатии:
    49
    Как перейти на защищенный протокол https и включить SSL?
    1. Покупаем сертификат у хостера или получаем бесплатный на letsencrypt.org (сертификаты без проблем заказываются и устанавливаются в панелях управления VestaCP и ISPmanager). Существенных отличий между платными и бесплатными сертификатами нет. Проверено на нескольких личных проектах. "Простым" вебмастерам хватает бесплатных.
    2. После установки сертификата, когда сайт будет доступен по двум адресам с http и https, открываем файл .htaccess (лежит в корневой директории). В самый верх, над уже имеющимися строками, добавляем 5 новых строк:
      Код:
      #SSL START
      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://yourwebsite.com/$1 [R=301,L]
      #SSL END
    3. В строке RewriteRule изменяем значение yourwebsite.com на адрес вашего сайта. В ISPmanager в настройках домена можно включить принудительное перенаправление всех запросов на https.
    4. Открываем в текстовом редакторе файл config.php (лежит в корневой директории), находим строку define('WEB_PATH', 'http://yourwebsite.com/');, изменяем протокол на define('WEB_PATH', 'https://yourwebsite.com/'); и сохраняем файл.
     
    Последнее редактирование: 5 сен 2018
    dmytr нравится это.
  4. Seoyou

    Seoyou

    Регистр.:
    23 янв 2017
    Сообщения:
    180
    Симпатии:
    50
    Правильней будет вот так:
    # Редирект с http на https
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
     
  5. Seoyou

    Seoyou

    Регистр.:
    23 янв 2017
    Сообщения:
    180
    Симпатии:
    50
    Включение кэша в браузерах посетителей.
    Редактируем файл htaccess в корне сайта.
    В htaccess добавить следующие:
    Код:
    # Включаем кэш в браузерах посетителей
    <ifModule mod_headers.c>
        # Все html и htm файлы будут храниться в кэше браузера один день
        <FilesMatch "\.(html|htm)$">
            Header set Cache-Control "max-age=43200"
        </FilesMatch>
        # Все css, javascript, шрифты и текстовые файлы будут храниться в кэше браузера одну неделю
        <FilesMatch "\.(js|css|txt|eot|woff|woff2)$">
            Header set Cache-Control "max-age=604800"
        </FilesMatch>
        # Все флэш файлы и изображения будут храниться в кэше браузера один месяц
        <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
            Header set Cache-Control "max-age=2592000"
        </FilesMatch>
        # Отключаем кеширование php и других служебных файлов
        <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
            Header unset Cache-Control
        </FilesMatch>
    </IfModule>
     
  6. Seoyou

    Seoyou

    Регистр.:
    23 янв 2017
    Сообщения:
    180
    Симпатии:
    50
    Включаем перенаправление на gzip файлы.
    В htaccess добавить следующее:
    Код:
    # Перенаправление на gzip файлы
    AddEncoding gzip .gz
    <FilesMatch "\.js.gz$">
      ForceType text/javascript
      Header set Content-Encoding: gzip
    </FilesMatch>
    <FilesMatch "\.js$">
      RewriteEngine On
      RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
      RewriteCond %{HTTP:Accept-Encoding} gzip
      RewriteCond %{REQUEST_FILENAME}.gz -f
      RewriteRule (.*)\.js$ $1\.js.gz [L]
      ForceType text/javascript
    </FilesMatch>
    
    <FilesMatch "\.css.gz$">
      ForceType text/css
      Header set Content-Encoding: gzip
    </FilesMatch>
    
    <FilesMatch "\.css$">
      RewriteEngine On
      RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
      RewriteCond %{HTTP:Accept-Encoding} gzip
      RewriteCond %{REQUEST_FILENAME}.gz -f
      RewriteRule (.*)\.css$ $1\.css.gz [L]
      ForceType text/css
    </FilesMatch>
     
  7. dmytr

    dmytr Постоялец

    Регистр.:
    30 окт 2015
    Сообщения:
    65
    Симпатии:
    12
    Друзья, подскажите пожалуйста, как в Russian Ultimate Payments plugin вместо полосы с предложением о размещении рекламы пользователем, вставить свой баннер, чтобы также пользователь после оплаты мог видеть свой баннер. Всем спасибо!
     
  8. varvarDOG

    varvarDOG Создатель

    Регистр.:
    28 май 2015
    Сообщения:
    35
    Симпатии:
    1
    День добрый, подскажите пожалуйста, где мне исправить данные местоположения окна reCapcha? а то закрывает чекбоксы и объявление не отредактировать в результате. Безымянный.png
     
  9. Imapo

    Imapo Создатель Нарушитель

    Регистр.:
    17 сен 2018
    Сообщения:
    49
    Симпатии:
    25
    Русская локализация для плагина voting. Может кому-то пригодится
     

    Вложения:

    • ru_RU.zip
      Размер файла:
      6,7 КБ
      Просмотров:
      8
    1nstep нравится это.
  10. Imapo

    Imapo Создатель Нарушитель

    Регистр.:
    17 сен 2018
    Сообщения:
    49
    Симпатии:
    25
    Можно ссылку на страницу, где есть эта проблема?