質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2208閲覧

既存のコードにtarget="_blank"を式に組み込みたい

akoro

総合スコア27

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/03/29 01:34

編集2019/03/29 02:16

■背景
laravelをメインにコーディングしていますが、今回のコーディングはbladeファイルの話です。
ページはHTMLで動かしています。

■実現したいこと
target="_blank"をつけて正常にリンクを画面に表示したい

■問題点
テーブルの中にリンクをつけた文字を表記している
現状のリンクは正式に作動するが、新規でページを開くためtarget="_blank"を組み込んだらリンクの表記がおかしくなった

■コード
元のコード

<td>{{ link_to(route('staff.calendar', ['id' => $staff->getId()]), "{$staff->user()->last_name}&nbsp;{$staff->user()->first_name}") }}</td>

自分で組み込んだコード

<td><a href="{{ route('staff.calendar', ['id' => $staff->getId()] ) }}" target="_blank"> {$staff->user()->last_name}&nbsp;{$staff->user()->first_name} </a></td>

■結果
リンクの名前が{$staff->user()->last_name} {$staff->user()->first_name}と、このまま表示されてしまう
元のコードの時は具体的な名前をデータベースから引っ張り出し、具体的な名前が表示できていた

打ち方をどこで間違て散るのでしょうか?
ご教授ください、よろしくお願い致します。

■追記
デバック行ったことないのでとりあえずvar_dumpで確認しました。
$staff->user()->last_name
$staff->user()->first_name
はそれぞれ正しい情報を取得できています。
レファレンス通りに{{ $staff->user()->last_name }}だと組み込めました。
があることにより単純に{{}}で囲むだけでは作動しません。

ここはどのように記述するのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

{{ }}で書いてないだけ。

{{ $staff->user()->last_name }}

投稿2019/03/29 01:50

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akoro

2019/03/29 01:59

ありがとうございます。 {{ $staff->user()->last_name }} 単体だと正常に作動することが確認できました。 {{ {$staff->user()->last_name}&nbsp;{$staff->user()->first_name} }} だと{}が多いとのシンタックスエラーが帰ってきてしまうのですが、間に&nbsp;がある場合は全体をどのように表記すればよいのでしょうか。
m.ts10806

2019/03/29 02:40

変数ごとに囲えばいい話なんですけど、、 公式リファレンスちゃんと読んでますか?
akoro

2019/03/29 02:59

変数ごとで解決できました、ありがとうございます。 公式で{{ }}はみましたが、スペースが入る場合に該当するような例が見つけられず対応できませんでした。
m.ts10806

2019/03/29 03:11

リファレンスには 「Bladeビューに渡されたデータは波括弧を」とありますよね。 &nbsp;はビューに直接書かれたものであり渡されたデータではありません。例よりも仕様に着目してください。
akoro

2019/03/29 03:24

判断基準の解説ありがとうございます。やっと原理を理解しました。
guest

0

{$staff->user()->last_name} {$staff->user()->first_name}と、このまま表示されてしまう

で、あればそもそもLaravel配下(もっと言えばPHPプログラム)にない場所に書いているのではないでしょうか。

ルーティング、コントローラーの処理部分含めてコード全体の流れが分かるものをご提示ください。
また、dd()などできちんとデバッグを行ってください(blade上でも使えます)

今回のコーディングはbladeファイルの話です。

リファレンスきちんと読みましょう。変数の使い方も書いてありますね。

  • [

Laravel 5.7 Bladeテンプレート
](https://readouble.com/laravel/5.7/ja/blade.html)

投稿2019/03/29 01:38

編集2019/03/29 01:53
m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akoro

2019/03/29 01:54

随時確認できたものから情報追加していきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問