Заменяем highslide на DLE


Хаки для DLE - Заменяем highslide на DLE

Название: Замена стандартного highslide на DLE
Автор: Artpax
Версия DLE: 9.x
Тестировалось: на DataLife Engine 9.4

Вам самим не надоело видеть на половинах сайтах рунета стандартное увеличение изображений на highslide? Вот лично меня уже начинает подташнивать от него!   
Альтернативу highslide долго искать не пришлось. На персональном сайте Aleko есть очень симпатичная замена этого дер..ма. Вот я и решил поделиться с вами моей задумкой. И так начнем...   

Установка: 
Скачиваем iLoad с сайта.
Перекидываем все с архива в папку engine/classes/iload
Открываем файл iLoad.js и заменяем строчку:

Code
L.path='http://studioad.ru/iload/'


На вот эту:
Code
L.path='/engine/classes/iload/'


Далее открываем файл /engine/classes/parse.class.php и заменяем:
Code
if( intval( $config['tag_img_width'] ) ) {

  if (clean_url( $config['http_home_url'] ) != clean_url ( $url ) ) {
   
  $img_info = @getimagesize( $url );
   
  if( $img_info[0] > $config['tag_img_width'] ) {
   
  $out_heigh = ($img_info[1] / 100) * ($config['tag_img_width'] / ($img_info[0] / 100));
  $out_heigh = floor( $out_heigh );

  if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";
  else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" onclick=\"return hs.expand(this)\" ><img align=\"$align\" src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";

   
  }
  }  
  }

На вот это:

  if( intval( $config['tag_img_width'] ) ) {

  if (clean_url( $config['http_home_url'] ) != clean_url ( $url ) ) {
   
  $img_info = @getimagesize( $url );
   
  if( $img_info[0] > $config['tag_img_width'] ) {
   
  $out_heigh = ($img_info[1] / 100) * ($config['tag_img_width'] / ($img_info[0] / 100));
  $out_heigh = floor( $out_heigh );

  if( $align == '' ) return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" rel=\"iLoad\" ><img src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";
  else return "<!--dle_image_begin:{$info}--><a href=\"{$url}\" rel=\"iLoad\" ><img align=\"$align\" src=\"$url\" width=\"{$config['tag_img_width']}\" height=\"{$out_heigh}\" {$alt} /></a>{$caption}<!--dle_image_end-->";

   
  }
  }  
  }

Далее ищем:

  if( $option[1] != "" ) {
   
  $alt = htmlspecialchars( strip_tags( stripslashes( $option[1] ) ), ENT_QUOTES );
  $caption = "<span class=\"highslide-caption\">" . $alt . "</span>";
  $alt = "alt=\"" . $alt . "\" title=\"" . $alt . "\" ";
   
  } else {
   
  $alt = htmlspecialchars( strip_tags( stripslashes( $_POST['title'] ) ), ENT_QUOTES );
  $alt = "alt='" . $alt . "' title='" . $alt . "' ";
  $caption = "";
   
  }
   
  if( $align == '' ) return "<!--TBegin--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
  else return "<!--TBegin--><a href=\"$gurl\" onclick=\"return hs.expand(this)\" ><img align=\"$align\" src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
   
  }
   

И заменяем на:

  if( $option[1] != "" ) {
   
  $alt = htmlspecialchars( strip_tags( stripslashes( $option[1] ) ), ENT_QUOTES );
  $caption = "<span class=\"highslide-caption\">" . $alt . "</span>";
  $groupload = "" . $alt . "";
  $alt = "alt=\"" . $alt . "\" title=\"" . $alt . "\" ";
   
  } else {
   
  $alt = htmlspecialchars( strip_tags( stripslashes( $_POST['title'] ) ), ENT_QUOTES );
  $groupload = "" . $alt . "";
  $alt = "alt='" . $alt . "' title='" . $alt . "' ";
  $caption = "";
   
  }
   
  if( $align == '' ) return "<!--TBegin--><a href=\"$gurl\" rel=\"iLoad|{$groupload}\" class=\"fullimage\" ><img src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
  else return "<!--TBegin--><a href=\"$gurl\" rel=\"iLoad|{$groupload}\" class=\"fullimage\" ><img align=\"$align\" src=\"$url\" {$alt} /></a>{$caption}<!--TEnd-->";
   
  }


сталось только добавить в файле main.tpl вашего шаблона между тегами head следующую строку:
Code
<script type="text/javascript" src="/engine/classes/iload/iLoad.js"></script>


И добавить в тег body onload="L.create()". Пример:
Code
</head>
<body onload="L.create()" >


Не забудьте удалить папку highslide с сервера!

Важно: Если у вас картинка открывается в новой вкладке, а не как у меня на сайте, то просто отредактируйте новость(изменять описание не обязательно) и нажмите сохранить. При добавлении новой новости этот баг исчезнет..


ИсточникКатегория: DLE-хаки | Добавил: AID | Дата: 06.02.2012
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Хостинг от uCoz