Simpleportal otomatik resim slider

Başlatan snrj, 20 May 2014 01:31

« önceki - sonraki »

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

snrj

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
Kod [Seç]
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
Kod [Seç]
/* 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

crazy_man

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?

CeeMoo

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?
Kod [Seç]
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.

crazy_man

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 :(

CeeMoo

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.

crazy_man

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ı?

crazy_man

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.

yemliha24

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.

CeeMoo

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.
Kod [Seç]
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>';

yemliha24

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

You cannot see attachments on this board.

CeeMoo

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

yemliha24

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 :)

CeeMoo

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.