Перейти к публикации

radrigo

Клиенты
  • Публикации

    1 413
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    57

Сообщения, опубликованные пользователем radrigo

  1. Я делал у себя на сайте без каких-либо модулей https://gusev-online.ru/photo/ , только средствами движка. В новой версии дле будет реализована возможность перехода на предыдущую и следующую новость, что на мой взгляд не хватало для полноценной фотогалереи.

     

    Лучше обойтись только возможностями движка. Сторонние дополнения, это всегда риск.

  2. Скажите, а полнотекстовый поиск действительно гораздо эффективнее простого и намного ли больше он потребляет ресурсов чем простой поиск? Потребление этих излишних ресурсов действительно оправдано? В чём его отличие от простого поиска? И при включении полнотекстового поиска в поиске на лету тоже будет производиться полнотекстовый поиск с более тяжелыми запросами?

  3. Всем привет.


    Подскажите, Стоит ли делать микроразметки помимо http://schema.org/Article. Облазил кучу популярных сайтов, но практически у всех есть только одна микроразметка http://schema.org/Article , других просто нет.

     

    Кто что думает? Стоит ли делать http://schema.org/BlogPosting, http://schema.org/WPHeader, http://schema.org/WPFooter и тому подобное?

     

    Заранее признателен всем за подсказку

  4. Добавил рекомендованную вами микроразметку , сейчас шаблон полной новости выглядит примерно так

     

    <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] &nbsp; | &nbsp; <b>{comments-num}</b> [declination={comments-num}]комментари|й|я|ев[/declination][/comments][catlist=17,28] &nbsp; | &nbsp; Автор: <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

     

    Подскажите пожалуйста, какие ещё микроразметки желательно добавить в шаблон полной новости. Понятно документацию  с примерами на русском языке что-то никак не могу найти.

  5. 50 минут назад, celsoft сказал:

    Все верно, видите имя пустое, значит локаль не русская UTF-8. То что я вам написал поставить переназначение локали в языковых файлов, это и есть принудительное назначение русского языка для UTF-8 и отмену настроек по умолчанию, но вам хостинг прислал, что у них итак все стоит по умолчанию корректно, и судя по тому что они написали, действительно все правильно, но где то, что то отменяет эти приведенные ими настройки.

     

    Собственно вот что они ответили, тоже самое, что было написано выше. Сейчас скачал архив движка 12.1, смотрю вы прописали по умолчанию в языковые файлы setlocale

    Цитата

    Команда locale выводит список локалей ssh. Чтобы локаль работала с интерпретатором PHP, необходимо задавать ее явно, то есть в скрипте используйте setlocale(LC_ALL, 'ru_RU.utf8');

     

  6. 4 минуты назад, celsoft сказал:

    Если создать простой тестовый скрипт:

    
    <?php
    
    print_r(pathinfo('/путь к файлу/русскоеимя.jpg'));

    Файл должен быть кодировкe UTF-8 как и ваш сайт. И если в результате будут разобрано имя и путь с обрезанием и неверно, то локаль не работает.

    Вот что вывело. Это доказывает что локаль не работает, я правильно понял?

    Array ( [dirname] => /путь к файлу [basename] => .jpg [extension] => jpg [filename] => ) 

     

  7. 4 минуты назад, celsoft сказал:

    Ну все нормально, локаль стоит, я не вижу проблем. Видимо она где то еще меняется, мне уже сложно сказать почему до PHP интерпретатора доходит, может где в настройках Апача переназначается.

    Проблема на хостинге reg.ru. Причём на двух разных сайтах, расположенных на разных аккаунтах и разных тарифных планах.  Они утверждают что у них локали установлены правильно. Если я вам дам доступ вы сможете определить проблему? Есть возможность подключения через SSH.

  8. 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=

     

  9. 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-системы.

     

    Если потребуется изменение параметров работы услуги хостинга, пожалуйста, сообщите необходимую конфигурацию для проверки возможности ее установки.

     

  10. 17 минут назад, celsoft сказал:

    Локаль это серверный компонент, а не PHP интерпретатора. Переназначить ее можно через окружение апача. Самый простой способ это вообще внести изменение в языковые файлы определение локалей, как описано выше в этой теме.

    Спасибо. Сделал уже как описано выше. Стало всё нормально. Однако скажите, стоит ли от поддержки хостинг-провайдера добиваться правильных настроек, чтобы заработала без изменения языковых файлов движка? Или это не имеет значения?

  11. 1 минуту назад, celsoft сказал:

    На локалях работает файловая система. Поэтому единственная проблема из за неправильной локали, это определение русских имен файлов.

    Подскажите еще и, если у меня есть доступ к php.ini , могу ли я как-то сам попробовать решить эту проблему?

  12. В 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 , могу ли я как-то сам попробовать решить эту проблему?

  13. В 06.02.2018 в 11:50, olifus сказал:
    1. для картинок в парсере добавить if($align... с присвоением класса, что позволит делать отступы margin картинки от окружающего текста с правой или левой стороны.

     

    Без разных классов можно настроить отступы слева или справа, в зависимости от того, к какой стороне прижата картинка. Как пример.

    .news img[style*="left"] {
    	margin: 0 15px 0 0;
    }
    .news img[style*="right"] {
    	margin: 0 0 0 15px;
    }

     

     

    • Спасибо 2
  14. Решил настроить у себя на сайте галерею таким методом, однако обнаружил, что в браузер Microsoft Edge кнопки не видны.  Все перелистывается когда нажимаю на месте кнопок, однако сами кнопки не отображается. Мучился, но так и не смог это победить.
    Помогите разобраться.

  15. На мой взгляд получается довольно неплохо. По крайней мере лучше, чем было.

     

    375d2d6de1e0.png

     

     

    Изменить галерею очень просто.

     

    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) И третье, не так важно, но хотелось бы тоже поменять. Чтоб перелистывания фотографий было не затухание старой и плавное появление следующий, а перемещение справа налево. То есть старая фотография уходит влево, а новая появляется справа.

     

    Заранее признателен всем за подсказку.

  16. 14 часа назад, celsoft сказал:

    Откройте консоль браузера и инспектор элементов. Этот код применять нужно не классу ".highslide-controls" а к слоям выше. Они привязаны не к классам а к id

    Или можно например указать

    
    .highslide-wrapper * {
        opacity: 1 !important;
    }

     

     

    Сделал так. Чтобы стили применялись только к одному конкретному блоку.

    .highslide-container div[id^="hsId"] {
    	opacity: .75 !important;
    	visibility: visible !important
    }

     

  17. 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 надо прописать?

  18. Всем привет.

     

    Хочу попробовать переделать навигацию "вперёд", "назад" и т.п. при просмотре оригинальных фото. Но не всё получается как хочется.

     

    1)Меню слайдера появляется только когда мышка на фотографии.

    Подскажите, как сделать чтоб оно не исчезало вообще? Хочу все кнопки сам настроить средствами css, когда им исчезать, а каким и вовсе не исчезать.

     

    На примере в скринах

    4993b0651c4f.png

     

    d683328f185d.png

     

     

    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
  19. Всем привет.

     

    Есть пару вопросов по обратной связи.

     

    Подскажите, чтобы добавить в обратной связи у себя на сайте 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="" имеет какое-либо значение?

     

    И ещё подскажите, как вообще убрать с обратной связи список получателей? Как это опять же сделано здесь. Когда один получатель, этот список просто не нужен.

     

    Заранее признателен всем за подсказки.

×
×
  • Создать...