-
Публикации
1 413 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
57
Сообщения, опубликованные пользователем radrigo
-
-
Я делал у себя на сайте без каких-либо модулей https://gusev-online.ru/photo/ , только средствами движка. В новой версии дле будет реализована возможность перехода на предыдущую и следующую новость, что на мой взгляд не хватало для полноценной фотогалереи.
Лучше обойтись только возможностями движка. Сторонние дополнения, это всегда риск.
-
Скажите, а полнотекстовый поиск действительно гораздо эффективнее простого и намного ли больше он потребляет ресурсов чем простой поиск? Потребление этих излишних ресурсов действительно оправдано? В чём его отличие от простого поиска? И при включении полнотекстового поиска в поиске на лету тоже будет производиться полнотекстовый поиск с более тяжелыми запросами?
-
Всем привет.
Подскажите, Стоит ли делать микроразметки помимо http://schema.org/Article. Облазил кучу популярных сайтов, но практически у всех есть только одна микроразметка http://schema.org/Article , других просто нет.Кто что думает? Стоит ли делать http://schema.org/BlogPosting, http://schema.org/WPHeader, http://schema.org/WPFooter и тому подобное?
Заранее признателен всем за подсказку
-
Добавил рекомендованную вами микроразметку , сейчас шаблон полной новости выглядит примерно так
<article class="full_fon" itemscope itemtype="http://schema.org/Article"> <h1 class="title">{title}</h1> <div class="full_dat ignore-select">[group=1][edit]<span class="icon icon-cog"></span>[/edit][/group][add-favorites]<span title="Добавить в закладки" class="icon icon-bookmarks"></span>[/add-favorites][del-favorites]<span title="Удалить из закладок" class="icon red icon-bookmarks"></span>[/del-favorites]{date=j F Y, H:i}</div> {poll} <div class="news">{full-story}</div> {pages} [tags]<i class="full_tags ignore-select">{tags}</i>[/tags] <div class="full_inf ignore-select"><b>{views}</b> [declination={views}]просмот|р|ра|ров[/declination][comments] | <b>{comments-num}</b> [declination={comments-num}]комментари|й|я|ев[/declination][/comments][catlist=17,28] | Автор: <b>{author}</b> [/catlist]</div> [edit-date]<i class="editdate">Новость отредактирована {edit-date}<br> [edit-reason]Причина: {edit-reason}[/edit-reason]</i>[/edit-date] <div class="full_soc"> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,twitter,viber,whatsapp,telegram" data-counter=""></div> {rating}<span class="prosm">{vote-num}</span></div> </article> [related-news] <div class="ma_fon ignore-select"> <div class="cont_sh">Другие новости по теме</div> {related-news} </div> [/related-news] <div class="ma_fon ignore-select">{comments} {navigation} {addcomments}</div>
После этого показало такую ошибку в валидаторе Яндекса
article ПРЕДУПРЕЖДЕНИЕ: Не выполнено обязательное условие для структурированных сниппетов творческих работ: поле description или articleBody отсутствует или пусто itemType = http://schema.org/Article aggregaterating aggregaterating itemType = http://schema.org/AggregateRating itemreviewed = «Сказала, что не хочет жить, и шагнула в воду»: в Гусеве пожарные вытащили из реки женщину worstrating = 1 ratingcount = 4 ratingvalue = 3 bestrating = 5
Подскажите пожалуйста, какие ещё микроразметки желательно добавить в шаблон полной новости. Понятно документацию с примерами на русском языке что-то никак не могу найти.
-
50 минут назад, celsoft сказал:
Все верно, видите имя пустое, значит локаль не русская UTF-8. То что я вам написал поставить переназначение локали в языковых файлов, это и есть принудительное назначение русского языка для UTF-8 и отмену настроек по умолчанию, но вам хостинг прислал, что у них итак все стоит по умолчанию корректно, и судя по тому что они написали, действительно все правильно, но где то, что то отменяет эти приведенные ими настройки.
Собственно вот что они ответили, тоже самое, что было написано выше. Сейчас скачал архив движка 12.1, смотрю вы прописали по умолчанию в языковые файлы setlocale
ЦитатаКоманда locale выводит список локалей ssh. Чтобы локаль работала с интерпретатором PHP, необходимо задавать ее явно, то есть в скрипте используйте setlocale(LC_ALL, 'ru_RU.utf8');
-
Отослал им. Посмотрим что они сделают
-
4 минуты назад, celsoft сказал:
Если создать простой тестовый скрипт:
<?php print_r(pathinfo('/путь к файлу/русскоеимя.jpg'));
Файл должен быть кодировкe UTF-8 как и ваш сайт. И если в результате будут разобрано имя и путь с обрезанием и неверно, то локаль не работает.
Вот что вывело. Это доказывает что локаль не работает, я правильно понял?
Array ( [dirname] => /путь к файлу [basename] => .jpg [extension] => jpg [filename] => )
-
А можно как-то доказать им что проблема именно у них? Что-то вроде этого. После чего они признали проблему и решили её.
-
4 минуты назад, celsoft сказал:
Ну все нормально, локаль стоит, я не вижу проблем. Видимо она где то еще меняется, мне уже сложно сказать почему до PHP интерпретатора доходит, может где в настройках Апача переназначается.
Проблема на хостинге reg.ru. Причём на двух разных сайтах, расположенных на разных аккаунтах и разных тарифных планах. Они утверждают что у них локали установлены правильно. Если я вам дам доступ вы сможете определить проблему? Есть возможность подключения через SSH.
-
34 минуты назад, celsoft сказал:
locale -a | grep ru показывает наличие подготовленных локалей в системе для русского, а не значит что именно она установлена. Что показывает просто команда locale без параметров?, эта команда выведет непосредственно назначенные переменные.
Вот их ответ. Можете что-нибудь посоветовать?
ЦитатаЗапрошенная вами информация представлена ниже:
bash-4.1$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
-
1 час назад, celsoft сказал:
Вам решать. Я например лично за правильные настройки, но хостинг может этого и не сделать, если например вы не одни на сервере и у вас shared а не vds
Вот что мне ответили в поддержки хостинга. Можете подсказать что мне им ответить? Что конкретно попросить поменять?
ЦитатаЗдравствуйте!
На физическом сервере, где расположена услуга вашего хостинга локаль UTF-8 для кириллистических символов установлена, полный список:
bash-4.1$ locale -a | grep ru
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8
Переменная LANG установлена в значение ru_RU.UTF-8:
bash-4.1$ printenv LANG
ru_RU.UTF-8
В первую очередь, для решения подобного вопроса мы рекомендуем вам обратиться к специалистам, которые занимались разработкой вашего сайта. Кроме того, интересующую вас информацию вы можете найти на тематических ресурсах, посвящённых разработке используемой вами CMS-системы.
Если потребуется изменение параметров работы услуги хостинга, пожалуйста, сообщите необходимую конфигурацию для проверки возможности ее установки.
-
17 минут назад, celsoft сказал:
Локаль это серверный компонент, а не PHP интерпретатора. Переназначить ее можно через окружение апача. Самый простой способ это вообще внести изменение в языковые файлы определение локалей, как описано выше в этой теме.
Спасибо. Сделал уже как описано выше. Стало всё нормально. Однако скажите, стоит ли от поддержки хостинг-провайдера добиваться правильных настроек, чтобы заработала без изменения языковых файлов движка? Или это не имеет значения?
-
1 минуту назад, celsoft сказал:
На локалях работает файловая система. Поэтому единственная проблема из за неправильной локали, это определение русских имен файлов.
Подскажите еще и, если у меня есть доступ к php.ini , могу ли я как-то сам попробовать решить эту проблему?
-
В 01.02.2018 в 19:14, celsoft сказал:
Да нет никакого преобразования. Есть стандартные функции PHP, такие как parse_url http://php.net/manual/ru/function.parse-url.php , dirname http://php.net/manual/ru/function.dirname.php , pathinfo http://php.net/manual/ru/function.pathinfo.php которые напрямую зависят от установленной локали сервера. И возвращают результаты по разному в зависимости от того какая локаль установлена. Поэтому для работы этих функций необходимо задать переменную окружения с русским языком и убедится что локаль для русского языка вообще присутствует на сервере и установить ее. Есть три пути установки локали и переменных окружения. Путь номер раз http://dedicatesupport.com/content/nastroika-lokali-v-konsoli-v-centos путь номер два http://php.net/manual/ru/intl.configuration.php путь номер три через окружение Апача. Три разных пути. Это сообщение напишите им.
На самом деле все очень просто, есть два пути и два выбора. Либо переназначить через скрипт, либо правильно сконфигурировать сервер.
Есть две категории людей. Первая категория которая на сервере имеет разные сайты разных языков, на разных скриптов, которые конфигурируют каждый домен корректно непосредственно под язык что используют. И тут мы установив setlocale принудительно, нарушаем все их настройки для других сайтов, их сайты работают некорректно, они пишут нам жалобы: Что же вы делаете, вы своим setlocale сбиваете работу других сайтов, уберите и не делайте этого.
И есть вторая категория людей, которые поставили свой сайт на обычный VDS который получили с базовыми настройками, которые естественно сделаны на английский. И пишут нам: ребята что вы делаете, у нас тут все настроено на английский, поменять сами не можем, не умеем и т.д. Решайте эту проблему за нас, установите принудительно setlocale.
А теперь вопрос: Чью сторону мы должны выбрать? Если автоматически универсально и с гарантированно рабочим результатом, этого сделать нельзя?
Если нет возможности поменять настройки, ну поставьте setlocale в языковые файлы, ведь вам написали выше как нужно делать, но это не значит что отсутствие setlocale это неправильный путь. Потому как непонятно какой из путей правильней и кто из этих двух групп людей прав.
Подскажите еще и, если у меня есть доступ к php.ini , могу ли я как-то сам попробовать решить эту проблему?
-
Скажите, если появляется данная проблема, то она только в переименование файлов?Или проблемы могут быть ещё где-нибудь?
-
В 06.02.2018 в 11:50, olifus сказал:
- для картинок в парсере добавить if($align... с присвоением класса, что позволит делать отступы margin картинки от окружающего текста с правой или левой стороны.
Без разных классов можно настроить отступы слева или справа, в зависимости от того, к какой стороне прижата картинка. Как пример.
.news img[style*="left"] { margin: 0 15px 0 0; } .news img[style*="right"] { margin: 0 0 0 15px; }
- 2
-
Решил настроить у себя на сайте галерею таким методом, однако обнаружил, что в браузер Microsoft Edge кнопки не видны. Все перелистывается когда нажимаю на месте кнопок, однако сами кнопки не отображается. Мучился, но так и не смог это победить.
Помогите разобраться. -
На мой взгляд получается довольно неплохо. По крайней мере лучше, чем было.
Изменить галерею очень просто.
1) Сначало убираем эффект появление оригинальные фотографии из миниатюры. Это делать необязательно, но на мой взгляд так будет лучше.
в файле engine/classes/highslide/highslide.js
найти
expandDuration:250,restoreDuration:250
заменить на
expandDuration:10,restoreDuration:10
Найти
dimmingDuration:50
заменить
dimmingDuration:0
2) И второе, в файле в engine.css
Найти
/*---показ оригинальной картинки загруженной на сайт из уменьшенной копии---*/ .highslide-wrapper, .highslide-outline { background: #fff } .highslide-image { border: 2px solid #fff } .highslide-active-anchor { visibility: hidden } .highslide-active-anchor img { visibility: hidden } .highslide-dimming { background-color: black } .highslide-html { background-color: white } .highslide-loading { display: block; color: white; font-size: 9px; font-weight: bold; text-decoration: none; padding: 3px; border: 1px solid white; background-color: black } a.highslide-full-expand { background: url(../dleimages/fullexpand.gif) no-repeat; display: block; margin: 0 10px 10px 0; width: 34px; height: 34px } .highslide-display-block { display: block } .highslide-display-none { display: none } .highslide-caption { display: none; padding: 5px; background: white } .highslide-controls { width: 195px; height: 40px; background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif) no-repeat 0 -90px; margin-right: 15px; margin-bottom: 10px; margin-top: 10px } .highslide-controls ul { position: relative; left: 15px; height: 40px; list-style: none; margin: 0; padding: 0; background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif) no-repeat 100% -90px } .highslide-controls li { float: left; padding: 5px 0; } .highslide-controls a { background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif); display: block; float: left; height: 30px; width: 30px; outline: none } .highslide-controls a.disabled { cursor: default } .highslide-controls a span { display: none } /*---The CSS sprites for the controlbar---*/ .highslide-controls .highslide-previous a { background-position: 0 0 } .highslide-controls .highslide-previous a:hover { background-position: 0 -30px } .highslide-controls .highslide-previous a.disabled { background-position: 0 -60px !important } .highslide-controls .highslide-play a { background-position: -30px 0 } .highslide-controls .highslide-play a:hover { background-position: -30px -30px } .highslide-controls .highslide-play a.disabled { background-position: -30px -60px !important } .highslide-controls .highslide-pause a { background-position: -60px 0 } .highslide-controls .highslide-pause a:hover { background-position: -60px -30px } .highslide-controls .highslide-next a { background-position: -90px 0 } .highslide-controls .highslide-next a:hover { background-position: -90px -30px } .highslide-controls .highslide-next a.disabled { background-position: -90px -60px !important } .highslide-controls .highslide-move a { background-position: -120px 0 } .highslide-controls .highslide-move a:hover { background-position: -120px -30px } .highslide-controls .highslide-full-expand a { background-position: -150px 0 } .highslide-controls .highslide-full-expand a:hover { background-position: -150px -30px } .highslide-controls .highslide-full-expand a.disabled { background-position: -150px -60px !important } .highslide-controls .highslide-close a { background-position: -180px 0 } .highslide-controls .highslide-close a:hover { background-position: -180px -30px }
Заменить на
/*---показ оригинальной картинки загруженной на сайт из уменьшенной копии---*/ .highslide-wrapper, .highslide-outline { background: #fff; } .highslide-image { border: 0; } .highslide-active-anchor { visibility: hidden; } .highslide-active-anchor img { visibility: hidden; } .highslide-dimming { background-color: black } .highslide-html { background-color: white } .highslide-loading { display: block; color: white; font-size: 9px; font-weight: bold; text-decoration: none; padding: 3px; border: 1px solid white; background-color: black } a.highslide-full-expand { background: url(../dleimages/fullexpand.gif) no-repeat; display: block; margin: 0 10px 10px 0; width: 34px; height: 34px } .highslide-display-block { display: block } .highslide-display-none { display: none; } .highslide-caption { display: none; padding: 5px; background: white } .highslide-controls { width: 0; height: 0; } .highslide-controls a { display: block; outline: none; -webkit-transition: all .4s ease; -o-transition: all .4s ease; transition: all .4s ease; } .highslide-controls a.disabled { cursor: default } .highslide-controls a span { display: none } .highslide-container div[id^="hsId"] { opacity: .75 !important; visibility: visible !important } /*---The CSS sprites for the controlbar---*/ .highslide-controls .highslide-previous a { position: fixed; top: 50px; left: 0; right: 85%; bottom: 0; opacity: .3; } .highslide-controls .highslide-previous a:before { display: block; content: ""; width: 0; height: 0; border-top: 14px solid transparent; border-right: 14px solid #000; border-bottom: 14px solid transparent; position: absolute; left: 39px; top: 50%; margin-top: -36px } .highslide-controls .highslide-previous a:after { display: block; content: ""; width: 0; height: 0; border-top: 12px solid transparent; border-right: 12px solid #fff; border-bottom: 12px solid transparent; position: absolute; left: 40px; top: 50%; margin-top: -34px; } .highslide-controls .highslide-previous a:hover { opacity: 1 } .highslide-controls .highslide-previous a.disabled { display: none } .highslide-controls .highslide-next a { position: fixed; top: 50px; right: 0; left: 65%; bottom: 0; opacity: .3; } .highslide-controls .highslide-next a:before { display: block; content: ""; width: 0; height: 0; border-top: 14px solid transparent; border-left: 14px solid #000; border-bottom: 14px solid transparent; position: absolute; right: 39px; top: 50%; margin-top: -36px } .highslide-controls .highslide-next a:after { display: block; content: ""; width: 0; height: 0; border-top: 12px solid transparent; border-left: 12px solid #fff; border-bottom: 12px solid transparent; position: absolute; right: 40px; top: 50%; margin-top: -34px } .highslide-controls .highslide-next a:hover { opacity: 1 } .highslide-controls .highslide-next a.disabled { display: none } .highslide-controls .highslide-close a { width: 50px; height: 50px; background-color: rgba(0,0,0,0.80); position: fixed; top: 0; right: 0; opacity: .6; border-radius: 0 0 0 7px } .highslide-controls .highslide-close a:hover { opacity: 1 } .highslide-controls .highslide-close a:before, .highslide-controls .highslide-close a:after { display: block; content: ""; position: absolute; left: 23px; top: 13px; height: 24px; width: 4px; background-color: #fff; border-radius: 2px } .highslide-controls .highslide-close a:before { transform: rotate(45deg); } .highslide-controls .highslide-close a:after { transform: rotate(-45deg); } .highslide-controls .highslide-play a, .highslide-controls .highslide-pause a { width: 40px; height: 40px; position: fixed; bottom: 0; left: 50%; margin-left: -45px; opacity: .6; background-color: rgba(0,0,0,0.80); border-radius: 50% } .highslide-controls .highslide-play a:after { display: block; content: ""; width: 0; height: 0; border-top: 8px solid transparent; border-left: 9px solid #fff; border-bottom: 8px solid transparent; position: absolute; left: 18px; top: 12px; } .highslide-controls .highslide-pause a:after, .highslide-controls .highslide-pause a:before { display: block; content: ""; width: 4px; height: 14px; position: absolute; left: 14px; top: 13px; background-color: #FFFFFF; } .highslide-controls .highslide-pause a:before { left: 22px; } .highslide-controls .highslide-play a:hover, .highslide-controls .highslide-pause a:hover { opacity: 1; } .highslide-controls .highslide-full-expand a { width: 40px; height: 40px; position: fixed; bottom: 0; left: 50%; margin-left: 5px; opacity: .6; background-color: rgba(0,0,0,0.80); border-radius: 50% } .highslide-controls .highslide-full-expand a:after { display: block; content: ""; position: absolute; left: 11px; top: 13px; width: 16px; height: 16px; border: 2px solid #fff; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } .highslide-controls .highslide-full-expand a:before { display: block; content: ""; position: absolute; left: 23px; top: 8px; height: 14px; width: 4px; background-color: #fff; transform: rotate(45deg); border-radius: 2px 2px 0 0 } .highslide-controls .highslide-full-expand a:hover { opacity: 1; } .highslide-controls .highslide-full-expand a.disabled { opacity: .6; } @media (max-width: 930px) { .highslide-controls .highslide-previous a:before, .highslide-controls .highslide-previous a:after, .highslide-controls .highslide-next a:before, .highslide-controls .highslide-next a:after { display: none; } }
Есть еще то, что хотелось бы изменить, но я не знаю как. Прошу подсказки.
1) На мой взгляд самое важное, что хотелось бы еще изменить, это сделать позиционирование картинок всегда по центру по вертикали. Например, если листать фотографии с разной высотой, то в дальнейшем они становятся не по центру. В оформлении галереи, которое идёт по умолчанию, это удобно, не надо перемещать мышку при перелистывании фотографий. Однако когда стрелки вперед и назад находятся по бокам и не привязаны к самой фотографии, это смотрится не очень красиво.
2) Когда смотришь фотографии, то стрелки вперёд и назад мигают по два раза когда на них нажимаешь. Хотелось бы от этого избавиться.
3) И третье, не так важно, но хотелось бы тоже поменять. Чтоб перелистывания фотографий было не затухание старой и плавное появление следующий, а перемещение справа налево. То есть старая фотография уходит влево, а новая появляется справа.
Заранее признателен всем за подсказку.
-
14 часа назад, celsoft сказал:
Откройте консоль браузера и инспектор элементов. Этот код применять нужно не классу ".highslide-controls" а к слоям выше. Они привязаны не к классам а к id
Или можно например указать
.highslide-wrapper * { opacity: 1 !important; }
Сделал так. Чтобы стили применялись только к одному конкретному блоку.
.highslide-container div[id^="hsId"] { opacity: .75 !important; visibility: visible !important }
-
29 минут назад, celsoft сказал:
Используйте !important когда хотите принудительно заставить работать именно ваше правило, а не какое либо другое.
Я никак не могу понять к какому блоку применить правила чтоб кнопки не пропадали. Все кнопки расположены в блоке с таким классом ".highslide-controls", при попытке применить к нему, и ко всем лежащим в нём элементм, нижеприведённые правила результатов не дают.
display: block !important; opacity: 1 !important; visibility: visible !important
Однако если в файле engine/classes/highslide/highslide.js в этом куске кода
wrapperMouseHandler: function (a) { try { a || (a = window.event); var b = /mouseover/i.test(a.type); a.target || (a.target = a.srcElement); a.relatedTarget || (a.relatedTarget = b ? a.fromElement : a.toElement); var c = hs.getExpander(a.target); if (c.isExpanded && c && a.relatedTarget && hs.getExpander(a.relatedTarget, !0) != c && !hs.dragArgs) for (a = 0; a < c.overlays.length; a++) { var d = hs.$("hsId" + c.overlays[a]); d && d.hideOnMouseOut && (b && hs.setStyles(d, { visibility: "visible", display: "" }), hs.animate(d, { opacity: b ? d.opacity : 0 }, d.dur)) } } catch (e) {} },
и в этом
if (b && "string" != typeof b && (b.style.display = "block", a.hsId = a.hsId || a.overlayId, "crossfade" != this.transitions[1] || !this.reuseOverlay(a, b))) { this.genOverlayBox(); var d = a.width && /^[0-9]+(px|%)$/.test(a.width) ? a.width : "auto"; /^(left|right)panel$/.test(a.position) && !/^[0-9]+px$/.test(a.width) && (d = "200px"); d = hs.createElement("div", { id: "hsId" + hs.idCounter++, hsId: a.hsId }, { position: "absolute", visibility: "hidden", width: d, direction: hs.lang.cssDirection || "", opacity: 1 }, c ? hs.viewport : this.overlayBox, !0); c && (d.hsKey = this.key); d.appendChild(b); hs.extend(d, { opacity: 0, offsetX: 0, offsetY: 0, dur: 0 === a.fade || !1 === a.fade || 2 == a.fade && hs.ie ? 0 : 250 });
"opacity : 0" заменить на "opacity : 1". проблема исчезает
Хотелось бы это реализовать не вмешиваясь в файлы движка.
Не подскажете что в CSS надо прописать?
-
Всем привет.
Хочу попробовать переделать навигацию "вперёд", "назад" и т.п. при просмотре оригинальных фото. Но не всё получается как хочется.
1)Меню слайдера появляется только когда мышка на фотографии.
Подскажите, как сделать чтоб оно не исчезало вообще? Хочу все кнопки сам настроить средствами css, когда им исчезать, а каким и вовсе не исчезать.
На примере в скринах
2) И второй вопрос. Можно ли сделать чтоб фотографии всегда позиционировались по вертикале по центру. Например если при перелистывании фото меняется высота, то и позиционирование по вертикале сбивается.
Привожу пример стилей что выходит.
Найти в engine.css
/*---показ оригинальной картинки загруженной на сайт из уменьшенной копии---*/ .highslide-wrapper, .highslide-outline { background: #fff } .highslide-image { border: 2px solid #fff } .highslide-active-anchor { visibility: hidden } .highslide-active-anchor img { visibility: hidden } .highslide-dimming { background-color: black } .highslide-html { background-color: white } .highslide-loading { display: block; color: white; font-size: 9px; font-weight: bold; text-decoration: none; padding: 3px; border: 1px solid white; background-color: black } a.highslide-full-expand { background: url(../dleimages/fullexpand.gif) no-repeat; display: block; margin: 0 10px 10px 0; width: 34px; height: 34px } .highslide-display-block { display: block } .highslide-display-none { display: none } .highslide-caption { display: none; padding: 5px; background: white } .highslide-controls { width: 195px; height: 40px; background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif) no-repeat 0 -90px; margin-right: 15px; margin-bottom: 10px; margin-top: 10px } .highslide-controls ul { position: relative; left: 15px; height: 40px; list-style: none; margin: 0; padding: 0; background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif) no-repeat 100% -90px } .highslide-controls li { float: left; padding: 5px 0; } .highslide-controls a { background: url(../../../engine/classes/highslide/graphics/controlbar-black-border.gif); display: block; float: left; height: 30px; width: 30px; outline: none } .highslide-controls a.disabled { cursor: default } .highslide-controls a span { display: none } /*---The CSS sprites for the controlbar---*/ .highslide-controls .highslide-previous a { background-position: 0 0 } .highslide-controls .highslide-previous a:hover { background-position: 0 -30px } .highslide-controls .highslide-previous a.disabled { background-position: 0 -60px !important } .highslide-controls .highslide-play a { background-position: -30px 0 } .highslide-controls .highslide-play a:hover { background-position: -30px -30px } .highslide-controls .highslide-play a.disabled { background-position: -30px -60px !important } .highslide-controls .highslide-pause a { background-position: -60px 0 } .highslide-controls .highslide-pause a:hover { background-position: -60px -30px } .highslide-controls .highslide-next a { background-position: -90px 0 } .highslide-controls .highslide-next a:hover { background-position: -90px -30px } .highslide-controls .highslide-next a.disabled { background-position: -90px -60px !important } .highslide-controls .highslide-move a { background-position: -120px 0 } .highslide-controls .highslide-move a:hover { background-position: -120px -30px } .highslide-controls .highslide-full-expand a { background-position: -150px 0 } .highslide-controls .highslide-full-expand a:hover { background-position: -150px -30px } .highslide-controls .highslide-full-expand a.disabled { background-position: -150px -60px !important } .highslide-controls .highslide-close a { background-position: -180px 0 } .highslide-controls .highslide-close a:hover { background-position: -180px -30px }
Заменить на
/*---показ оригинальной картинки загруженной на сайт из уменьшенной копии---*/ .highslide-wrapper, .highslide-outline { background: #fff } .highslide-image { border: 0; } .highslide-active-anchor { visibility: hidden } .highslide-active-anchor img { visibility: hidden; } .highslide-dimming { background-color: black } .highslide-html { background-color: white } .highslide-loading { display: block; color: white; font-size: 9px; font-weight: bold; text-decoration: none; padding: 3px; border: 1px solid white; background-color: black } a.highslide-full-expand { background: url(../dleimages/fullexpand.gif) no-repeat; display: block; margin: 0 10px 10px 0; width: 34px; height: 34px } .highslide-display-block { display: block } .highslide-display-none { display: none; } .highslide-caption { display: none; padding: 5px; background: white } .highslide-controls { width: 0; height: 0 } .highslide-controls a { display: block; outline: none; } .highslide-controls a.disabled { cursor: default } .highslide-controls a span { display: none } /*---The CSS sprites for the controlbar---*/ .highslide-controls .highslide-previous a { position: fixed; top: 0; left: 0; bottom: 0; width: 400px; opacity: .6; z-index: 99000 } .highslide-controls .highslide-previous a:before { display: block; content: ""; width: 50px; height: 50px; background-color: rgba(0,0,0,0.80); position: absolute; left: 15px; top: 50%; margin-top: -25px; } .highslide-controls .highslide-previous a:after { display: block; content: ""; width: 0; height: 0; border-top: 9px solid transparent; border-right: 8px solid rgba(255,255,255,1.00); border-bottom: 9px solid transparent; position: absolute; left: 35px; top: 50%; margin-top: -9px } .highslide-controls .highslide-previous a:hover { opacity: 1 } .highslide-controls .highslide-previous a.disabled { display: none } .highslide-controls .highslide-next a { position: fixed; top: 50px; right: 0; bottom: 0; width: 400px; opacity: .6; z-index: 99001 } .highslide-controls .highslide-next a:before { display: block; content: ""; width: 50px; height: 50px; background-color: rgba(0,0,0,0.80); position: absolute; right: 15px; top: 50%; margin-top: -50px; } .highslide-controls .highslide-next a:after { display: block; content: ""; width: 0; height: 0; border-top: 9px solid transparent; border-left: 8px solid rgba(255,255,255,1.00); border-bottom: 9px solid transparent; position: absolute; right: 35px; top: 50%; margin-top: -34px } .highslide-controls .highslide-next a:hover { opacity: 1 } .highslide-controls .highslide-next a.disabled { display: none } .highslide-controls .highslide-close a { width: 50px; height: 50px; background-color: rgba(0,0,0,0.60); position: fixed; top: 0; right: 15px; border-radius: 0 0 7px 7px } .highslide-controls .highslide-close a:hover { background-color: rgba(0,0,0,0.80); } .highslide-controls .highslide-close a:before, .highslide-controls .highslide-close a:after { display: block; content: ""; position: absolute; left: 23px; top: 13px; height: 24px; width: 4px; background-color: #fff; border-radius: 2px } .highslide-controls .highslide-close a:before { transform: rotate(45deg); } .highslide-controls .highslide-close a:after { transform: rotate(-45deg); } @media (max-width: 1200px) { .highslide-controls .highslide-previous a, .highslide-controls .highslide-next a { width: 300px; } } @media (max-width: 930px) { .highslide-controls .highslide-previous a:before, .highslide-controls .highslide-previous a:after, .highslide-controls .highslide-next a:before, .highslide-controls .highslide-next a:after { display: none; } .highslide-controls .highslide-previous a, .highslide-controls .highslide-next a { width: 200px; } }
Если удастся победить вышеупомянутые проблемы, то можно будет добавить и остальные кнопки.
Многие думаю хотели бы изменить внешний вид навигации в галереи. Как по мне, так она морально устарела.
- 1
-
Подскажите ещё , будет не dle работать Invisible recaptcha?
-
Всем привет.
Есть пару вопросов по обратной связи.
Подскажите, чтобы добавить в обратной связи у себя на сайте checkbox, как это сделано здесь ( https://dle-news.ru/index.php?do=feedback ), достаточно ли будет просто Вставить такой кусок кода в нужном месте?
<label><input type="checkbox" name="terms" value="1" required>Я принимаю <a href="/rules.html" target="_blank">пользовательское соглашение</a> и подтверждаю, что согласен с <a href="/rules.html#privacy" target="_blank">политикой конфиденциальности</a> данного сайта</label>
Содержимое name="" и value="" имеет какое-либо значение?
И ещё подскажите, как вообще убрать с обратной связи список получателей? Как это опять же сделано здесь. Когда один получатель, этот список просто не нужен.
Заранее признателен всем за подсказки.
-
3 часа назад, Майор сказал:
Новые элементы турбо страниц https://yandex.ru/turbo?text=new-elements-2017-q4
Очень жду новую версию DLE. Думаю там всё это можно будет реализовать кроме комментариев
Защита от ботов и спама - кто что использует
в DataLife Engine (Общие вопросы)
Опубликовано:
На мой взгляд самый лучший вариант - это написать свои уникальные вопросы и ответы, может даже касающиеся тематики сайта. Лично мне это очень помогло.