Pereiti prie turinio

Kaip sukodinti, kad nesikartotų naujiena?


Rekomenduojami pranešimai

Sveiki, turiu problemą :) Mokausi programuoti ir galvoju, ar įmanomą prasukti foreach ciklą šiame kode, kad nesikartotų naujieną ? Vizualiai atrodo šitaip:

 

http://www.part.lt/img/a6a0dab835728fbae6172a4579edebda191.png

 

Kodas čia:

 

@extends('app')

@section('content')


  <div class="row">


            ČIA TA NAUJIENA PRASIDEDA
       <div class="col-xs-12 col-sm-9">

         @if(count($latest))
         <div class="col-md-12">
         <a href="/post/{{$latest->slug}}/{{$latest->id}}">
           <img class="img-responsive" src="{!! url($latest->image) !!}" alt="" style="padding: 0px; height: 400px; width: 720px"></a>
           <h2 class="post" style="margin-top: 0; color: #666">

             @foreach($latest->category as $cat)
             	<a style="color: red; text-transform: uppercase; font-size: 13px" href="/categories/{{$cat->name}}">{{$cat->name}}</a>
             @endforeach

           <br><a href="/post/{{$latest->slug}}/{{$latest->id}}">{!! strip_tags(link_to_action('PostsController@show', $latest->title, [$latest->slug, $latest->id])) !!}</a></h2>
           <span style="color: #b8b8b8">Paskeblta {{$latest->created_at}}</span>
           <hr>
         </div>
         @else
          <p>Nėra naujienų</p>
         @endif
             ČIA BAIGIASI


         <div class="row">
         	@foreach($posts as $post)
           <div class="col-xs-6 col-lg-6">
           <a href="/post/{{$post->slug}}/{{$post->id}}">
           <img class="img-responsive" style="width: 352px; height: 180px" src="{!! url($post->image) !!}" alt=""></a>
             <h3 class="post" style="font-size: 1.4em; margin-top: 0; color: #666; max-width: 400px">

             @foreach($post->category as $cat)
             <a style="color: red; text-transform: uppercase; font-size: 13px" href="/categories/{{$cat->name}}">{{$cat->name}}</a>
             @endforeach

             <br><a href="/post/{{$post->slug}}/{{$post->id}}">{{strip_tags($post->title)}}</a></h3>
             <span style="color: #b8b8b8">Paskelbta {{$post->created_at}}</span>
             <br><br>
           </div><!--/.col-xs-6.col-lg-4-->

           @endforeach
         </div><!--/row-->
       </div><!--/.col-xs-12.col-sm-9-->

       @include('comp.sidebar')
     </div><!--/row-->

     <hr>
@stop

 

Esu pasidaręs, kad tą naujausia naujieną skaitytų iš $latest kintamojo. Bet tuo pačiu ją rodo ir prie visų naujienų, nes prasuku foreach ciklą su visais $posts. Bet nežinau kaip padaryti, kad jei tą naujieną rodo kaip pagrindinę, tai kad ji nesikartotų prie visų kitų, kol neatsiras kita naujiena... :unsure:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

... jei tą naujieną rodo kaip pagrindinę, tai kad ji nesikartotų prie visų kitų, kol neatsiras kita naujiena... :unsure:

 

Manau jei pats įsiskaitytum į savo klausimą, tai suprastum, kad reiktų tau IF sąlygą tame foreach cikle įstatyti, kuri tikrintų ar tas paostas yra jau publikuojamas, jei taip, tai praleisti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Iškilo kita problema... Pasidariau infinite scroll tinklapy. Trumpai paaiškinsiu kas kaip vyksta. Taigi, jeigu padarau infinite scroll tik ant naujienų, viskas veikia. Jeigu padarau infinite scroll tik ant atsitiktinių naujienų, viskas veikia. Jei pabandau juos abu įdėti į vieną puslapy, štai kas gaunasi:

 

http://i.stack.imgur.com/Ix39x.png

 

Neina niekaip sutaisyti. Raudonai apžymėti, tai naujienos įsiterpusios tarp atsitiktinių. Nežinau, kaip padaryti, kad jos atsirastu savo vietoj, žemiau po kitom naujienom.

 

Čia kodai:

 

Naujienų:

 

<div class="row">
           @foreach($posts as $post)
           @if($latest->id != $post->id)

            [b]ČIA PRASIDEDA SCROLL[/b]

           <div class="col-xs-6 col-lg-6 scroll">
           <a href="/post/{{$post->slug}}/{{$post->id}}">
           <img class="img-responsive" style="width: 352px; height: 180px" src="{!! url($post->image) !!}" alt=""></a>
             <h3 class="post" style="font-size: 1.4em;">

             @foreach($post->category as $cat)
             <a style="color: red; text-transform: uppercase; font-size: 13px" href="/categories/{{$cat->name}}">{{$cat->name}}</a>
             @endforeach

             <br><a class="post" href="/post/{{$post->slug}}/{{$post->id}}">{{strip_tags($post->title)}}</a></h3>
             <span style="color: #b8b8b8">Paskelbta {{$post->created_at}}</span>
             <br><br>
           </div><!--/.col-xs-6.col-lg-4-->
           @endif
           @endforeach


         </div><!--/row-->
          {!! $posts->render() !!}
       </div><!--/.col-xs-12.col-sm-9-->
        @include('comp.sidebar')
     </div><!--/row-->

     <hr>


     [b] INFINITE SCROLL KODAS[/b]

       {!! Html::script('jscroll-master/jquery.jscroll.min.js') !!}
<script type="text/javascript">
$(function() {
   $('.scroll').jscroll({
       autoTrigger: true,
       nextSelector: '.pagination li.active + li a', 
       contentSelector: 'div.scroll',
       callback: function() {
           $('ul.pagination:visible:first').hide();
       }
   });
});
</script>

 

Atsitiktinių naujienų: (sidebar)

 

       <div class="col-xs-6 col-sm-2 sidebar-offcanvas" id="sidebar" style="padding: 0px">
               <div class="portlet">
                   <div class="portlet-title">
                       <div class="caption">
                           <i class="glyphicon glyphicon-paperclip"></i>
                           <span class="caption-subject text-uppercase"> Atsitiktiniai</span>
                           <span class="caption-helper">viskas po ranka</span>
                       </div>
                   </div>

                  [b]ČIA PRASIDEDA SCROLL[/b]

                   <div class="scroll">
                   @foreach($randomPosts as $posts)
           <img class="popImage" src="{!! url($posts->image) !!}" />
           <p><a class="popTitle" href="/post/{{$posts->slug}}/{{$posts->id}}">{{$posts->title}}</a></p><br>                           

                   @endforeach
                       <div style="display: none">{!! $randomPosts->render() !!}</div>
                   </div>

               </div>          
       </div><!--/.sidebar-offcanvas-->


               [b]ČIA INFINITE SCROLL KODAS[/b]

       {!! Html::script('jscroll-master/jquery.jscroll.min.js') !!}
<script type="text/javascript">
$(function() {
   $('.scroll').jscroll({
       autoTrigger: true,
       nextSelector: '.pagination li.active + li a', 
       contentSelector: 'div.scroll',
       callback: function() {
           $('ul.pagination:visible:first').hide();
       }
   });
});
</script>

 

Įtariu, kad kažkas blogai su iterpimu siderbar'o į naujienų failą. Grid system taip pat nepadeda. Be to abu rezultatai tiek naujienų, tiek sidebar'o yra iš skirtingų lentelių.

Redagavo Cpliusas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...