Jump to content
GiselePassoni

Dúvidas quanto ao uso do include no laravel, e o resource_path()

Recommended Posts

Bom dia!

Gostaria de saber como usar o include em uma view (blade) sendo que, a view que será carregada no include, está em diretório diferente. Tentei usar o  resource_path() mas dá erro.

Exemplo:

Uma view está na pasta views/pages. Essa view tem que carregar uma outra view (header.blade,php) que está em views/includes.

Já tentei colocar assim: @include(../includes/header), mas não funcionou!

O que estou fazendo de errado?

Share this post


Link to post
Share on other sites

No blade, ao invés do barra "/" você utiliza o ponto "."

@include('includes.header')

Se estiver fazendo um layout, recomendo ver o @yield e @section, que faz esse trabalho melhor de layouts.

Share this post


Link to post
Share on other sites

Bom dia, @Kosonome

Já usei o @yield e @session em outra página e deu certo mas, as 2 páginas estavam na mesma pasta. Nesse caso estão em pastas diferentes. 

O template home.blade.php está em views/pages e o cabeçalho (header.blade.template) está em views/includes.

Tanto com @include como @yield, não sei como usar nesse caso... procurando por soluções, achei algo falando em resource_path(e app_path(), mas não consegui usar...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By zanoth
      Salve galera,
       
      sou novo no fórum, saudacoes a todos.
       
      Tenho um formulario em blade:
       
      <form action="{{url('request-action')}}" method="post"> Uma rota:
       
      Route::post('request-action', [Controllers\MainController::class, 'validator']);  
      E um Controller, com a funcao:
      public function validator(Request $request) { $data = $request->validate([ 'name' => 'required|max:255', 'email' => 'sometimes|email', 'phone' => 'required|max:255', 'units' => 'required', 'done' => 'required', ]); tap(new Clients($data))->save(); $id = DB::table('clients')->where('email', '=', $request->email); var_dump($id); //DEBUG for($i = 0; $i < $request->units; $i++) { $banch = file(storage_path('tickets.txt')); $len_banch = count($banch); $rand = rand(0, $len_banch-1); $got = $banch[$rand]; unset($banch[$rand]); $file = fopen(storage_path('tickets.txt'), "w"); ftruncate($file, sizeof($banch)); file_put_contents(storage_path('tickets.txt'), $banch); fclose($file); $tickets->token = $got; $tickets->id = $id; $tickets->save(); } fclose($file);*/ return redirect('success'); }  
      Quero que o formulario seja validado e os dados sejam salvos no bd. Nessa funcao instancio dois modelos, um deles levando o valor de um indice automatico do outro. (em $tickets->id = $id;). Em uma pesquisa rapida descobri a classe DB (Illuminate\Support\Facades\DB), mas sem resultado, considerando que esse valor é gerado no ato da interacao com o Postgres (no meu caso).
      Qual seria a melhor de maneira para traze-lo?
       
      Com relacao aos logs, a principio uma inconsistencia relacionada a variavel $id foi retornada pelo debugger, porem agora nem sequer o debugger é chamado, em decorrencia de um loop infinito aparentemente (pagina sendo carregada… etc etc). A que se deve tal comportamento?
       
      Seguindo os exemplos dos corteses, crio esse post. Ja se isso for mentira, obra do diabo ou de alguma sociedade secreta que o serve, que alguem fale agora ou cale-se para sempre, por favor. Estes sxerao castigados, vencida a ilusao da vida.
       
      Uma outra duvida seria em relacao ao real funcionamento da funcao (helper) 'tap', nao encontro documentacoes ou manuais tecnicos em essencia,
       
       
      mas informacoes textuais ou artigos, que facilitam a abstracao.
       
      Valeu desde já.
       
    • By fernandomullerjr
      Oi Pessoal,
      bom dia.
      Estou tentando obter os logs do Laravel através do stdout do meu Container PHP, mas quando eu simulo um erro dentro do Container via php artisan ele não é mostrado no stdout do container:
      ``` 
      fernando@c64d676157c2:/var/www$ php artisan command5
      Command "command5" is not defined.  
      fernando@c64d676157c2:/var/www$ 
      ```
      O erro é escrito no log do Laravel:
      ``` 
      fernando@c64d676157c2:/var/www$ tail storage/logs/laravel.log
      "} 
      [2022-02-22 12:43:52] dev.ERROR: Command "command5" is not defined. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\CommandNotFoundException(code: 0): Command \"command5\" is not defined. at /var/www/vendor/symfony/console/Application.php:644)
      [stacktrace]
      #0 /var/www/vendor/symfony/console/Application.php(228): Symfony\\Component\\Console\\Application->find('command5')
      #1 /var/www/vendor/symfony/console/Application.php(140): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #2 /var/www/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #3 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #4 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
      #5 {main}
      "} 
      fernando@c64d676157c2:/var/www$ 
      ```

      Mas o erro não é mostrado no stdout do Container PHP:
      ``` 
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker logs -f travellist-app                                                               SIGINT(2) ↵  10345  09:44:30  
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
      [22-Feb-2022 12:40:57] NOTICE: fpm is running, pid 1
      [22-Feb-2022 12:40:57] NOTICE: ready to handle connections
      ```
      Eu tentei diversas combinações de configurações do php.ini file, config/logging.php, LOG_CHANNEL  do ".env",  diversas opções de configuração do stack e muito mais.
      Eu estou usando o PHP na versão 7.4.28.
      laravel/framework v7.11.0
      Composer version 2.2.6
      **O projeto foi clonado do Github:**
      https://github.com/do-community/travellist-laravel-demo

      Todos os containers estão up e rodando conforme o esperado:
      ```
      fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main   docker container ls                                                                                     10344  09:40:58  
      CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                   NAMES
      c64d676157c2   travellist     "docker-php-entrypoi…"   5 seconds ago   Up 3 seconds   9000/tcp                                travellist-app
      2995a82595f7   mysql:5.7      "docker-entrypoint.s…"   5 seconds ago   Up 3 seconds   3306/tcp, 33060/tcp                     travellist-db
      736ede87e337   nginx:alpine   "/docker-entrypoint.…"   5 seconds ago   Up 3 seconds   0.0.0.0:8000->80/tcp, :::8000->80/tcp   travellist-nginx
       fernando@notebookdell-1487   /lab/treinamento/travellist-laravel-demo     main                                                                                                           10345  09:41:01  
      ```

      Como eu posso obter os logs do Laravel através do stdout do meu container no Docker?
    • By Joob
      Olá Malta,
       
      Trabalho com Laravel, e tenho um problema na parte do registo da conta.
      Quando o utilizador se tenta registar "nome email password".. dá-me erro de conecção com a base dados, mas dá-me o seguinte erro no log:
       
      - Undefined index: avatar {"exception":"[object] (ErrorException(code: 0): Undefined index: avatar at /var/www/app/User.php:221)
       
      na Linha 221 é esta - if ($this->attributes['avatar'] && is_storage_driver(['s3'])) {
      ----
      /** * Format avatar to full url * * @return \Illuminate\Contracts\Routing\UrlGenerator|string */ public function getAvatarAttribute() { // Get avatar from external storage if ($this->attributes['avatar'] && is_storage_driver(['s3'])) { return Storage::temporaryUrl($this->attributes['avatar'], now()->addDay()); } // Get avatar from local storage if ($this->attributes['avatar']) { return url('/' . $this->attributes['avatar']); } return url('/assets/images/' . 'default-avatar.png'); } Ou seja, o utilizador não se consegue registar por causa da imagem, porque se eu escontecer esta função, já é possível fazer o registo, mas a imagem do utilizador não aparece.
       
      A conecção com a base de dados está correcta porque o site todo funciona etc.
       
      RESOLVIDO
       
      Abraço,
      Obrigado
    • By aredienhcs
      Salve!
       
      Me deparei com uma inconsistência hoje nos validadores do Laravel. O caso é que se eu construir um FormRequest devolvendo no método rules() a seguinte regra:
      ['logradouro' => 'string|min:5'] passando o valor '' (aspas simples ) para o campo logradouro, o valor é validado corretamente, devolvendo a inconsistência com a regra de 5 caracteres.
      Porém quando eu crio um validador desta outra forma:
      $dados = [ [ 'logradouro' => ''] ]; $regras = [ ['logradouro' => 'string|min:5'] ]; $v = Validator::make( $dados, $regras); dd( $v->fails()); A mesma regra passa batida pelo validador, retornando 'false' no 'fails( )' do validador. Gostaria de entender porque existe essa diferença entre os dois métodos de validação, e sem tem alguma forma de corrigir esse comportamento.
      Se for preciso mais informações a respeito posso exemplificar melhor.
       
      []s
    • By terra
      Olá todos,
       
      Não consigo enviar e-mail com repley-to
       
      assim funciona:
       
      assim não funciona:
       
       
       
      Essa é função que envia email:
       
       
      Obrigado
      Toninho
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.