使用CodeZero-Be / Laravel-Localizatization-Routes和Livewire的问题

发布于 2025-02-02 12:31:22 字数 5193 浏览 2 评论 0原文

我使用Livewire的问题。一切都很好,但是当我从视图/Livewire/Filtro键入输入时,数据刷新和Dispapear数据。 当我单击URL时,数据会很好。 IVE刷新URL以查看数据。 IVE试过没有前控制器的Displya Blade,清晰的缓存,清晰的路线

http/livewire/filtro

use Livewire\WithPagination;

class Filtro extends Component
{

use WithPagination;

protected $paginationTheme = 'bootstrap';

protected $queryString = ['marca'];
public $marca;

public function render()
{
    return view('livewire.filtro', [
        'productos' => Producto::where('deleted',0)
                            ->where('marca', 'like', '%'.$this->marca.'%' )->paginate(20)
    ]);
}
}

路线/web

<?php

use Illuminate\Support\Facades\Route;

/*
Web Routes
--------------------------------------------------------------------------
*/

// Localized
Route::localized(function () {

Route::get('/anuncios', function () {
return view('front.anuncios');
});

Route::get('/', function () {
return view('front.index');
});

Route::get('/index', [App\Http\Controllers\FrontController::class, 'index'])->name('front.index');

});

Auth::routes();


Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

Route::fallback(\CodeZero\LocalizedRoutes\Controller\FallbackController::class)
->middleware(\CodeZero\LocalizedRoutes\Middleware\SetLocale::class);

views/livewire/filtro


    <div class="listing__text__top">
        <div class="listing__text__top__left">
            <h5>Todoterrenos</h5>
            <span>{{ $productos->count() }} Resultados</span>
            <input type="text"  class="form-control" placeholder="Search" wire:model.debounce.1000ms="marca" />
            <div wire:loading>
    Processing ...
            </div>
            <div wire:offline>
You are now offline.
        </div>
        <div class="listing__text__top__right">Ordenar <i class="fa fa-sort-amount-asc"></i></div>
    </div>
@if($productos->count()) @foreach($productos as $producto)
                  @if($producto->garantizado === 'Si')
                    <div class="listing__item__text__info__right pr-3">Garantizado</div>
                  @endif

            <div class="">

            <a href="{{ route('front.detalle', $producto->titulo_slug) }}"><img src="{{ asset('img/productos/'.$producto->imagen_1)}}" height="150" alt="..." class="rounded float-left pr-2"></a>
            </div>
            <div class="listing__item__text">
                <div class="listing__item__text__inside ">
                    <h5><a href="{{ route('front.detalle', $producto->titulo_slug) }}">{{ $producto->titulo }}</a></h5>

                    <div class="listing__item__text__rating">
                       
                        <span>{{ number_format($producto->km,0,',','.') }} km</span>

                        <h6>{{ number_format($producto->precio_contado,0,',','.' ) }} &euro;</h6>
                    </div>
                    <ul>
                       
                        <li><i class="fa fa-map-marker"></i> {{ $producto->municipio }}, {{ $producto->municipio_slug }}</li>
                       
                    </ul>
                </div>   
            </div>
        </div>
@endforeach
@else

No hay productos

@endif

{{ $productos->links() }}

app/http /comtrollers/frontController


namespace App\Http\Controllers;

use App\Models\Front;
use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;

use App\Models\Producto;
use App\Models\Link;
use Illuminate\Support\Facades\Session;

use App;

class FrontController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/

 public function anuncios()
{
    return view('front.anuncios');
}

 public function index()
{
    return view('front.index');
}



public function detalle($titulo_slug)
{

 //   dd($titulo_slug);

  if($titulo_slug !='index' && $titulo_slug !='blog'){

    $producto = Producto::where('titulo_slug',$titulo_slug)
                            ->first();

    $num = $producto->visitas;

      $num ++;

      $producto->visitas = $num ;

      $producto->save();                        


    return view('front.detalle')->with('producto',$producto);
                            }
                            
}

public function locale($lang)
{
       App::setlocale($lang);

        session(['locale' => $lang]);
    
    return view('front.index');
}

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  \App\Models\Front  $front
 * @return \Illuminate\Http\Response
 */
public function destroy(Front $front)
{
    // 
}
}

Ive problems using livewire. All works fine, but when I type the input, data refresh and dissapear data from views/livewire/filtro.
When I click on url, data comes well.
Ive to refresh url to view data.
Ive tried displya blade without Front Controller, clear cache, clear routes

Http/Livewire/Filtro

use Livewire\WithPagination;

class Filtro extends Component
{

use WithPagination;

protected $paginationTheme = 'bootstrap';

protected $queryString = ['marca'];
public $marca;

public function render()
{
    return view('livewire.filtro', [
        'productos' => Producto::where('deleted',0)
                            ->where('marca', 'like', '%'.$this->marca.'%' )->paginate(20)
    ]);
}
}

routes/web

<?php

use Illuminate\Support\Facades\Route;

/*
Web Routes
--------------------------------------------------------------------------
*/

// Localized
Route::localized(function () {

Route::get('/anuncios', function () {
return view('front.anuncios');
});

Route::get('/', function () {
return view('front.index');
});

Route::get('/index', [App\Http\Controllers\FrontController::class, 'index'])->name('front.index');

});

Auth::routes();


Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

Route::fallback(\CodeZero\LocalizedRoutes\Controller\FallbackController::class)
->middleware(\CodeZero\LocalizedRoutes\Middleware\SetLocale::class);

views/livewire/filtro


    <div class="listing__text__top">
        <div class="listing__text__top__left">
            <h5>Todoterrenos</h5>
            <span>{{ $productos->count() }} Resultados</span>
            <input type="text"  class="form-control" placeholder="Search" wire:model.debounce.1000ms="marca" />
            <div wire:loading>
    Processing ...
            </div>
            <div wire:offline>
You are now offline.
        </div>
        <div class="listing__text__top__right">Ordenar <i class="fa fa-sort-amount-asc"></i></div>
    </div>
@if($productos->count()) @foreach($productos as $producto)
                  @if($producto->garantizado === 'Si')
                    <div class="listing__item__text__info__right pr-3">Garantizado</div>
                  @endif

            <div class="">

            <a href="{{ route('front.detalle', $producto->titulo_slug) }}"><img src="{{ asset('img/productos/'.$producto->imagen_1)}}" height="150" alt="..." class="rounded float-left pr-2"></a>
            </div>
            <div class="listing__item__text">
                <div class="listing__item__text__inside ">
                    <h5><a href="{{ route('front.detalle', $producto->titulo_slug) }}">{{ $producto->titulo }}</a></h5>

                    <div class="listing__item__text__rating">
                       
                        <span>{{ number_format($producto->km,0,',','.') }} km</span>

                        <h6>{{ number_format($producto->precio_contado,0,',','.' ) }} €</h6>
                    </div>
                    <ul>
                       
                        <li><i class="fa fa-map-marker"></i> {{ $producto->municipio }}, {{ $producto->municipio_slug }}</li>
                       
                    </ul>
                </div>   
            </div>
        </div>
@endforeach
@else

No hay productos

@endif

{{ $productos->links() }}

App/Http/Comtrollers/FrontController


namespace App\Http\Controllers;

use App\Models\Front;
use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;

use App\Models\Producto;
use App\Models\Link;
use Illuminate\Support\Facades\Session;

use App;

class FrontController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/

 public function anuncios()
{
    return view('front.anuncios');
}

 public function index()
{
    return view('front.index');
}



public function detalle($titulo_slug)
{

 //   dd($titulo_slug);

  if($titulo_slug !='index' && $titulo_slug !='blog'){

    $producto = Producto::where('titulo_slug',$titulo_slug)
                            ->first();

    $num = $producto->visitas;

      $num ++;

      $producto->visitas = $num ;

      $producto->save();                        


    return view('front.detalle')->with('producto',$producto);
                            }
                            
}

public function locale($lang)
{
       App::setlocale($lang);

        session(['locale' => $lang]);
    
    return view('front.index');
}

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  \App\Models\Front  $front
 * @return \Illuminate\Http\Response
 */
public function destroy(Front $front)
{
    // 
}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文