News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Resim Boyutlandırma

Started by Özgür, June 26, 2009, 07:16:00 PM

Previous topic - Next topic

Özgür

Bu kodun diğer boyutlandırıcılardan farkı xhtml hatası vermiyor olması.

Temanızın index.template.php'sinde </head>'dan önce ekleyin.
<script type="text/javascript">
// <![CDATA[
window.onload = resizeimg;
function resizeimg()
{
   if (document.getElementsByTagName)
   {
      for (i=0; i<document.getElementsByTagName(\'img\').length; i++)
      {
         im = document.getElementsByTagName(\'img\')[i];
         if(im.parentNode.className=="post")
       {
          if (im.width > 700)
          {
            im.style.width = \'700px\';
            eval("pop" + String(i) + " = new Function(\"pop = window.open(\'" + im.src + " \',\'fullscale\',\'width=400,height=400,scrollbars=1,resizable=1\'); pop.focus();\")");
            eval("im.onclick = pop" + String(i) + ";");
            if (document.all) im.style.cursor = \'hand\';
            if (!document.all) im.style.cursor = \'pointer\';
            im.title = \'Büyük boyutunu görmek için tıklayın\';
          }
      }
      }
   }
}
// ]]>
</script>



        if (im.width > 700)
           {
             im.style.width = \'700px\';


Buradaki 700ü kendinize göre ayarlamalısınız.

if(im.parentNode.className=="post")
buradaki "post" yerine mesajlarınızın bulunduğu class'ı yazacaksınız.
Sayfadaki resmi boyutlandırır, ve resmin üzerine fareyle gelindiğinde "Büyük boyutunu görmek için tıklayınız yazar.

Ve son uyarı, ipucu mesaj alanındaki tüm resimleri boyutlandırır. Buna imzalarda dahil.
So Long

Gökhan | Brestgerfich

Quote from: [Daydreamer] on June 26, 2009, 07:16:00 PM
Bu kodun diğer boyutlandırıcılardan farkı xhtml hatası vermiyor olması.
if(im.parentNode.className=="post")
buradaki "post" yerine mesajlarınızın bulunduğu class'ı yazacaksınız.
Sayfadaki resmi boyutlandırır, ve resmin üzerine fareyle gelindiğinde "Büyük boyutunu görmek için tıklayınız yazar.

Ve son uyarı, ipucu mesaj alanındaki tüm resimleri boyutlandırır. Buna imzalarda dahil.


Bu bölümü anlayamadım Özgür...

Özgür

Quote from: Mucize on June 26, 2009, 07:25:40 PM
Quote from: [Daydreamer] on June 26, 2009, 07:16:00 PM
Bu kodun diğer boyutlandırıcılardan farkı xhtml hatası vermiyor olması.
if(im.parentNode.className=="post")
buradaki "post" yerine mesajlarınızın bulunduğu class'ı yazacaksınız.
Sayfadaki resmi boyutlandırır, ve resmin üzerine fareyle gelindiğinde "Büyük boyutunu görmek için tıklayınız yazar.

Ve son uyarı, ipucu mesaj alanındaki tüm resimleri boyutlandırır. Buna imzalarda dahil.


Bu bölümü anlayamadım Özgür...

Mesaj içeriklerinin yer aldığı div yada td nin class değerini yazacaksın. Mesela sen "inner" yazacaksın.
So Long

Gökhan | Brestgerfich

#3
Aklına, ellerine sağlık Özgür. Çok iyi bi iş çıkarmışsın yine....






Bu konuyla ilgisi yoktur belki ama bunu bilemeyenler(benim gibi) için, Hangi class'ı yazmaları gerektiğini nereden bakacaklar?

Özgür

Display.template.php'de
', $message['body'], ''nin içinde bulunduğu dive tdye. bulamazlarsa o kodu


<div class="boyutla">', $message['body'], '</div> şeklinde değiştirip "boyutla" yazmalılar.
So Long

Özgür

Bölüm seçimimde bir hata yok.
So Long

HaciDimitri

Quote from: [Daydreamer
if(im.parentNode.className=="post")
buradaki "post" yerine mesajlarınızın bulunduğu class'ı yazacaksınız.
Sayfadaki resmi boyutlandırır, ve resmin üzerine fareyle gelindiğinde "Büyük boyutunu görmek için tıklayınız yazar.

Ve son uyarı, ipucu mesaj alanındaki tüm resimleri boyutlandırır. Buna imzalarda dahil.

üstadım koyu renkle belirttiğim kısmı anlayamadım. biraz açıklarmısın.

Özgür

Her tema, mesaj metnini farklı bir <div> içerisine alır. Siz sizin temanızın buna verdiği class değerini bulacaksınız. Display.template.php'de ',$message['body'],' yi arayacaksın. İçinde bulunduğu ilk divin yada class'ını yazacaksın. yada kolaya kaçıp
bulup
',$message['body'],'
şöyle de değiştirirsin
<div class="resize">',$message['body'],'</div>

Sonra yukarda anlattığım şekilde script kodlarının içine post yerine resize yazarsın.
So Long

HaciDimitri

Quote from: [Daydreamer] on July 09, 2009, 02:48:40 PM
Her tema, mesaj metnini farklı bir <div> içerisine alır. Siz sizin temanızın buna verdiği class değerini bulacaksınız. Display.template.php'de ',$message['body'],' yi arayacaksın. İçinde bulunduğu ilk divin yada class'ını yazacaksın. yada kolaya kaçıp
bulup
',$message['body'],'
şöyle de değiştirirsin
<div class="resize">',$message['body'],'</div>

Sonra yukarda anlattığım şekilde script kodlarının içine post yerine resize yazarsın.

üstadım benim temada display.template dosyası yok. babylon temasında yaptım yine olmadı. benim temayla ilgili bir sorun olabilir. emeğine sağlık. faydalananlar mutlaka olacaktır.

Gurbet_42

Kendi temanda yoksa defaulttan alır.

HaciDimitri

Quote from: Gurbet_1907 on July 09, 2009, 05:25:35 PM
Kendi temanda yoksa defaulttan alır.

tamam oldu. zaten oraya post yazmak gerekiyormuş. oynamaya gerek kalmadı post yazınca çalıştı. küçük bir kod olduğu için kasmıyorda çok güzel. tavsiye ederim.

lostr

Ben bunu çalıştıramadım. Sanırım tam anlmadığım için. :D

Özgür

Quote from: KütahyaForum on July 16, 2009, 02:26:35 PM
Ben bunu çalıştıramadım. Sanırım tam anlmadığım için. :D

Temanda mesaj içerikleri için bir class atanmamış. Muhtemelen ondan çalıştıramadın.
Display.template.php'inde buna benzer birşey bul
<td valign="top" height="132" background="http://kutahyaforum.com/Themes/default/images/hhyson5.gif" style="font-family: Verdana,Arial,Helvetica,sans-serif;">

değiştir
<td class="post" valign="top" height="132" background="http://kutahyaforum.com/Themes/default/images/hhyson5.gif" style="font-family: Verdana,Arial,Helvetica,sans-serif;">
Sadece  class="post" ekleyeceksin.
Sonra ilk mesajımdaki sadece ilk değişimi yap.
So Long

lostr

Özgür alttaki kodu buldum;

    <td background="', $settings['default_images_url'], '/hhyson5.gif" valign="top" style="font-family: Verdana, Arial, Helvetica, sans-serif" height="132">

Sonra ilk mesajındaki değişikliği uyguladım ancak olmadı.

index.template.php ve Display.template.php'yi ekledim class atanıp atanmadığına bakabilirmisiniz?

Özgür

Ekte birşey görünmüyor.

Birde büyük resimlerin bulunduğu bir konu adresi rica edeyim.
So Long

lostr

#15
Bu bölümde eklenti koyma aktif değil o yüzden koyamadım. ::)

İstedikleriniz alttaki linkte.

http://kutahyaforum.com/index.php?topic=558.msg1054#msg1054

Özgür

Display.template.php de bul
<td valign="top" style="font-family: Verdana, Arial, Helvetica, sans-serif" height="132">
', $message['body'], '</td>

değiştir
<td class="post" valign="top" style="font-family: Verdana, Arial, Helvetica, sans-serif" height="132">
', $message['body'], '</td>


Index.template.phpde bul
<title>', $context['page_title_html_safe'], '</title>
Üstüne ekle
<script type="text/javascript">
// <![CDATA[
window.onload = resizeimg;
function resizeimg()
{
   if (document.getElementsByTagName)
   {
      for (i=0; i<document.getElementsByTagName(\'img\').length; i++)
      {
         im = document.getElementsByTagName(\'img\')[i];
         if(im.parentNode.className=="post")
       {
          if (im.width > 700)
          {
            im.style.width = \'700px\';
            eval("pop" + String(i) + " = new Function(\"pop = window.open(\'" + im.src + " \',\'fullscale\',\'width=400,height=400,scrollbars=1,resizable=1\'); pop.focus();\")");
            eval("im.onclick = pop" + String(i) + ";");
            if (document.all) im.style.cursor = \'hand\';
            if (!document.all) im.style.cursor = \'pointer\';
            im.title = \'Büyük boyutunu görmek için tıklayın\';
          }
      }
      }
   }
}
// ]]>
</script>
So Long

lostr

Teşekkürler Özgür, oldu. ;)

lostr

Özgür; resim boyutlandırmayı aktif ettikten sonra Mozilla'da alttaki gibi hata oluşuyor mesajlarda. IE'de herhangi bir sorun yok.


Gökhan | Brestgerfich

Daha önceki temam için "inner" yazmıştık.

Şimdi tema değiştirdim. Yeni temamda da display template yok. Mesaj kod kaynağını default temadaki display.template'den çekiyor yani. Ancak yeni temama "inner" yazmama rağmen olmadı :-/

Advertisement: