16 May 2021 21:29 Yeni Konu Oluştur

Haberler:

Sitemiz Smf 2.1 ve Smf 2.0 sürümleri için Destek ve Tema paylaşım forumudur


Simpleportal otomatik resim slider

Başlatan snrj, 20 May 2014 01:31

« önceki - sonraki »

0 Üye ve 4 Ziyaretçi konuyu incelemekte.

*

  1. 3,078

  2. 584

  3. 964
20 May 2014 01:31 Son düzenlenme: 27 Ağu 2014 18:42 Smfci


simpleportal da yeni bir php block oluşturun
içine yapıştırın
global $settings;
    echo '
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery.js"></script>
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery_002.js"></script>';
 
 global $smcFunc, $scripturl, $settings, $options, $txt ,$context, $modSettings;
$board=array(1,2,5);

$request = $smcFunc['db_query']('', '
  SELECT t.id_topic, m.subject, m.body
  FROM {db_prefix}topics AS t
     INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
  WHERE t.id_board IN ({array_int:boards})
  ORDER BY t.id_topic DESC
       LIMIT {int:limit}',
  array(
    'boards' => $board,
               'limit' => 7,
  )
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
  $topics[] = array(
     'id_topic' => $row['id_topic'],
     'subject' => $row['subject'],
     'first_image'  => preg_match_all('~\[img.*?\]([^\]]+)\[\/img\]~i', $row['body'],  $images) ? '<img src="' . $images[1][0] . '"  alt="' .  $row['subject'] . '"/>      ' : '',
  );
$smcFunc['db_free_result']($request);

     echo '<div class="flex-container">
 <div class="flexslider">
 <ul class="slides">';
 foreach ($topics as $topic)
 if (!empty($topic['first_image']))
 echo '
                <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0">',  $topic['first_image'], ' </a>
                 <p>', $topic['subject'], '</p>
    </li>';
 else {
 echo '
                  <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0"><img src="'.$settings['images_url'].'/th_resimyok.gif" alt="" /></a>
                  <p>', $topic['subject'], '</p>
 </li>';
 }      

echo '</ul>
 <ul class="flex-direction-nav"><li><a class="flex-prev" href="#">Previous</a></li><li><a class="flex-next" href="#">Next</a></li></ul></div>
</div>
<script>
$(document).ready(function () {
 $(\'.flexslider\').flexslider({
 animation: \'fade\',
 controlsContainer: \'.flexslider\'
 });
});
</script>';

index.css en alta ekle
/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  { outline: none; }

.slides,
.flex-control-nav,
.flex-direction-nav {
 margin: 0;
 padding: 0;
 list-style: none;
}

.flexslider a img { outline: none; border: none; }

.flexslider {
 margin: 0;
 padding: 0;
}

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li {
 display: none;
 -webkit-backface-visibility: hidden;
}

.flexslider .slides img {
 width: 100%;
 display: block;
    height: 250px;
 -webkit-border-radius: 2px;
 -moz-border-radius: 2px;
 border-radius: 2px;
}

/* Clearfix for the .slides element */
.slides:after {
 content: ".";
 display: block;
 clear: both;
 visibility: hidden;
 line-height: 0;
 height: 0;
}

html[xmlns] .slides { display: block; }
* html .slides { height: 1%; }



/* Theme Styles */
.flexslider {
 position: relative;
 zoom: 1;
 padding: 10px;
 background: #ffffff;
min-height: 250px;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
 border-radius: 3px;

 -webkit-box-shadow: 0px 1px 1px rgba(0,0,0, .2);
 -moz-box-shadow: 0px 1px 1px rgba(0,0,0, .2);
 box-shadow: 0px 1px 1px rgba(0,0,0, .2);
}

/* Edit it if you want */
.flex-container {
 min-width: 150px;
 max-width: 360px;
 margin-bottom: 15px;
}

.flexslider .slides { zoom: 1; }



/* Direction Nav */
.flex-direction-nav a {
 display: block;
 position: absolute;
 margin: -17px 0 0 0;
 width: 35px;
 height: 35px;
 top: 50%;
 cursor: pointer;
 text-indent: -9999px;
 z-index: 9999;

 background-color: #82d344;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#82d344), to(#51af34));
 background-image: -webkit-linear-gradient(top, #82d344, #51af34);
 background-image: -moz-linear-gradient(top, #82d344, #51af34);
 background-image: -o-linear-gradient(top, #82d344, #51af34);
 background-image: linear-gradient(to bottom, #82d344, #51af34);
}

.flex-direction-nav a:before {
 display: block;
 position: absolute;
 content: '';
 width: 9px;
 height: 13px;
 top: 11px;
 left: 11px;
 background: url(../images/arrows.png) no-repeat;
}

.flex-direction-nav a:after {
 display: block;
 position: absolute;
 content: '';
 width: 0;
 height: 0;
 top: 35px;
}

.flex-direction-nav .flex-next {
 right: -5px;

 -webkit-border-radius: 3px 0 0 3px;
 -moz-border-radius: 3px 0 0 3px;
 border-radius: 3px 0 0 3px;
}

.flex-direction-nav .flex-prev {
 left: -5px;

 -webkit-border-radius: 0 3px 3px 0;
 -moz-border-radius: 0 3px 3px 0;
 border-radius: 0 3px 3px 0;
}

.flex-direction-nav .flex-next:before { background-position: -9px 0; left: 15px; }
.flex-direction-nav .flex-prev:before { background-position: 0 0; }

.flex-direction-nav .flex-next:after {
 right: 0;
 border-bottom: 5px solid transparent;
 border-left: 5px solid #31611e;
}

.flex-direction-nav .flex-prev:after {
 left: 0;
 border-bottom: 5px solid transparent;
 border-right: 5px solid #31611e;
}



/* Control Nav */
.flexslider .flex-control-nav {
 position: absolute;
 width: 100%;
 text-align: center;
 margin: 0 0 0 -10px;
}

.flex-control-nav li {
 display: inline-block;
 zoom: 1;
}

.flex-control-paging li a {
 display: block;
 cursor: pointer;
 text-indent: -9999px;
 width: 12px;
 height: 12px;
 margin: 0 6px;
 background-color: #b6b6b6 \9;

 -webkit-border-radius: 12px;
 -moz-border-radius: 12px;
 border-radius: 12px;

 -webkit-box-shadow: inset 0 0 0 2px #b6b6b6;
 -moz-box-shadow: inset 0 0 0 2px #b6b6b6;
 box-shadow: inset 0 0 0 2px #b6b6b6;
}

.flex-control-paging li a.flex-active {
 background-color: #82d344;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#82d344), to(#51af34));
 background-image: -webkit-linear-gradient(top, #82d344, #51af34);
 background-image: -moz-linear-gradient(top, #82d344, #51af34);
 background-image: -o-linear-gradient(top, #82d344, #51af34);
 background-image: linear-gradient(to bottom, #82d344, #51af34);

 -webkit-box-shadow: none;
 -moz-box-shadow: none;
 box-shadow: none;
}



/* Captions */
.flexslider .slides p {
 display: block;
 position: absolute;
 left: 0;
 bottom: 0;
 padding: 0 5px;
 margin: 0;

 font-family: Helvetica, Arial, sans-serif;
 font-size: 12px;
 font-weight: bold;
 text-transform: uppercase;
 line-height: 20px;
 color: white;

 background-color: #222222;
 background: rgba(0,0,0, .9);

 -webkit-border-radius: 2px;
 -moz-border-radius: 2px;
 border-radius: 2px;
}

ekte verdiğim js dosylarını temanın scripts klasörüne atın
son olarak yine ekte verdiğim resimide kullandığınız temanın images klasörüne atın
kodların içindeki şu kısımı $board=array(1,2,5); kendinize göre düzeltin



  1. 632

  2. 251
Eline sağlık arkadaşım güzel çalışma olmuş.

Yalnız ön izle yapabiliyorum.
PHP sözdizimi hatası. Kodlarınızı kontrol edin.
şeklinde bir yazı çıkıyor.
Ne yapmam gerekiyor acaba?

*

  1. 1,120

  2. 105

  3. 318
03 May 2015 10:54 #2 Son düzenlenme: 03 May 2015 10:56 CeeMoo
Alıntı yapılan: crazy_man - 02 May 2015 11:01Eline sağlık arkadaşım güzel çalışma olmuş.

Yalnız ön izle yapabiliyorum.
PHP sözdizimi hatası. Kodlarınızı kontrol edin.
şeklinde bir yazı çıkıyor.
Ne yapmam gerekiyor acaba?

global $smcFunc, $scripturl, $settings, $options, $txt ,$context, $modSettings;

    echo '
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery.js"></script>
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery_002.js"></script>';

$request = $smcFunc['db_query']('', '
  SELECT t.id_topic, m.subject, m.body
  FROM {db_prefix}topics AS t
     INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
  WHERE t.id_board IN ({array_int:boards})
  ORDER BY t.id_topic DESC
       LIMIT {int:limit}',
  array(
    'boards' => $board,
    'limit' => 7,
  )
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
  $topics[] = array(
     'id_topic' => $row['id_topic'],
     'subject' => $row['subject'],
     'first_image'  => preg_match_all('~\[img.*?\]([^\]] )\[\/img\]~i', $row['body'],  $images) ? '<img src="' . $images[1][0] . '"  alt="' .  $row['subject'] . '"/>      ' : '',
  );
$smcFunc['db_free_result']($request);

     echo '<div class="flex-container">
 <div class="flexslider">
 <ul class="slides">';
 foreach ($topics as $topic)
 if (!empty($topic['first_image']))
 echo '
                <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0">',  $topic['first_image'], ' </a>
                 <p>', $topic['subject'], '</p>
    </li>';
 else {
 echo '
                  <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0"><img src="'.$settings['images_url'].'/th_resimyok.gif" alt="" /></a>
                  <p>', $topic['subject'], '</p>
 </li>';
 }     

echo '</ul>
 <ul class="flex-direction-nav"><li><a class="flex-prev" href="#">Previous</a></li><li><a class="flex-next" href="#">Next</a></li></ul></div>
</div>
<script>
$(document).ready(function () {
 $(\'.flexslider\').flexslider({
 animation: \'fade\',
 controlsContainer: \'.flexslider\'
 });
});
</script>';

Şöyle bir denermisiniz.



  1. 632

  2. 251
03 May 2015 13:05 #3 Son düzenlenme: 03 May 2015 13:17 crazy_man

Konuyu nereden çekeceğini nereye koyacağız

$board=array(1,2,5);

buda çaılışmadı dostum :(

*

  1. 1,120

  2. 105

  3. 318
Bende tam bilmiyorum ne ney  :(  Normal kullanımı tamamdır ama neden sp sıkıntı yaşatıyor birşey diyemicem. @snrj görürse bakar.



  1. 632

  2. 251
Alıntı yapılan: CeeMoo - 03 May 2015 13:26Bende tam bilmiyorum ne ney  :(  Normal kullanımı tamamdır ama neden sp sıkıntı yaşatıyor birşey diyemicem. @snrj görürse bakar.
ilgin için tşk ederim...

simple portal için tavsiye edeceğin yada bildiğin  buna benzer bir mod var mı?



  1. 632

  2. 251
PHP sözdizimi hatası. Kodlarınızı kontrol edin.
şeklinde hata alıyorsanız:
Ben sorunu aşağıdaki şekilde çözdüm.

Forumun Yönetim sayfasına girerek
SimplePortal/Yapılandırma/Temel ayarlar
altında yer alan
PHP kodu doğrulamasını kapat
seçeneğini işaretleyin.

Yükledikten sonra tekrar eski haline getirmeeyi unutmayın.

*

  1. 26

  2. 12

  3. 4

Merhaba. Bu slider'e konudan az bişey alıntı nasıl yaparız ?

Konunun ilk 30 harfi gibi yada 50 kelimesi ilk cümlesi vs gibi...

Teşekkür ederim kolay gelsin.

*

  1. 1,120

  2. 105

  3. 318
Alıntı yapılan: yemliha24 - 25 Oca 2018 00:23Merhaba. Bu slider'e konudan az bişey alıntı nasıl yaparız ?

Konunun ilk 30 harfi gibi yada 50 kelimesi ilk cümlesi vs gibi...

Teşekkür ederim kolay gelsin.
Css düzenlemen gerekicek.
global $settings;
    echo '
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery.js"></script>
    <script type="text/javascript" src="', $settings['theme_url'], '/scripts/jquery_002.js"></script>';
 
 global $smcFunc, $scripturl, $settings, $options, $txt ,$context, $modSettings;
$board=array(1,2,5);

$request = $smcFunc['db_query']('', '
  SELECT t.id_topic, m.subject, m.body
  FROM {db_prefix}topics AS t
     INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
  WHERE t.id_board IN ({array_int:boards})
  ORDER BY t.id_topic DESC
       LIMIT {int:limit}',
  array(
    'boards' => $board,
               'limit' => 7,
  )
);
$topics = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
  $topics[] = array(
     'id_topic' => $row['id_topic'],
     'subject' => $row['subject'],
     'body' => $row['body'],
     'first_image'  => preg_match_all('~\[img.*?\]([^\]]+)\[\/img\]~i', $row['body'],  $images) ? '<img src="' . $images[1][0] . '"  alt="' .  $row['subject'] . '"/>      ' : '',
  );
$smcFunc['db_free_result']($request);

     echo '<div class="flex-container">
 <div class="flexslider">
 <ul class="slides">';
 foreach ($topics as $topic)
 if (!empty($topic['first_image']))
 echo '
                <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0">',  $topic['first_image'], ' </a>
                 <p>', $topic['subject'], '</p>
                 <p>', substr($topic['body'], 0, 30), '</p>
    </li>';
 else {
 echo '
                  <li class="" style="width: 100%; float: left; margin-right: -100%; position: relative; display: none;"><a  href="', $scripturl, '?topic=', $topic['id_topic'], '.0"><img src="'.$settings['images_url'].'/th_resimyok.gif" alt="" /></a>
                  <p>', $topic['subject'], '</p>
                  <p>', substr($topic['body'], 0, 30), '</p>
 </li>';
 }     

echo '</ul>
 <ul class="flex-direction-nav"><li><a class="flex-prev" href="#">Previous</a></li><li><a class="flex-next" href="#">Next</a></li></ul></div>
</div>
<script>
$(document).ready(function () {
 $(\'.flexslider\').flexslider({
 animation: \'fade\',
 controlsContainer: \'.flexslider\'
 });
});
</script>';

*

  1. 26

  2. 12

  3. 4
25 Oca 2018 13:50 #9 Son düzenlenme: 25 Oca 2018 14:12 CeeMoo
Css de sıkıntı yok php den anlamıyorum frontendciyim :)

böyle bişey yaptım

[attach name=Screenshot_2.png type=image/png]1326[/attach]

*

  1. 1,120

  2. 105

  3. 318
artık bunu paylaşırsın :D bekliyoruz yani.

*

  1. 26

  2. 12

  3. 4
Alıntı yapılan: CeeMoo - 25 Oca 2018 14:12artık bunu paylaşırsın :D bekliyoruz yani.

Tabiki paylaşırım o kadar yardımınızdan sonra ben de sizin için bişeyler yapmak isterim.

Ancak bunu ssi ile yaptım. Şu işi bitireyim sizin için daha özel birşey hazırlar paylaşırım bir hafta içinde

Kolay gelsin :)

*

  1. 1,120

  2. 105

  3. 318
Alıntı yapılan: yemliha24 - 25 Oca 2018 14:24Tabiki paylaşırım o kadar yardımınızdan sonra ben de sizin için bişeyler yapmak isterim.

Ancak bunu ssi ile yaptım. Şu işi bitireyim sizin için daha özel birşey hazırlar paylaşırım bir hafta içinde

Kolay gelsin :)

 Uğraştırıcaksa bizim için mesai harcamayın.Tabi başkaları faydalanabilir.O zaman bir çok platformda paylaşırsanız süper olur.iyi çalışmalar.


MENU ×