5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[タスク①の解説記事]未経験からエンジニアがキャリア初期に、任されるあろう3つのタスクを出題してみる

Last updated at Posted at 2020-10-04

前回の記事の解説

出題したタスクはこちら

 タスク①画面上に表示文言を追加する

〜商品一覧ページの商品価格に「(税込)」を追記しよう〜

上記タスクにおいて、考える手順としてはMVCフレームワークにおいて、まず処理の流れを掴むこと。ただし今回のタスクに関してはデータを取得する必要もロジックを変える必要もないため、ControllerとViewのどの部分に処理が走っているか確認し、必要な部分に処理を追加する必要がある。

手がかりとなるのはURLである。

MVC.png

HTTPリクエストから、Controllerのどのアクションを呼び出す(FWによってはroutingを経由する)か、決めているためURLを確認する。

商品一覧ページに関しては「products/list」というpathのためproductionControllerファイルを検索する。

開いたファイル内で「products/list」というワード検索をするとfunction indexに処理が走っていることがわかる。

ProductControllerの画像.png

アノテーション部分を見ると@Template("Product/list.twig")が対象のviewファイルであることが分かる。
この辺はフレームワーク事によって異なるが、viewの文言を追記するようなタスクは
URLからController→アクション→viewファイルという流れで、見た目を表示しているファイルを特定する。

次に対象の「list.twig」を検索し、対象のファイル(eccube/src/Eccube/Resource/template/default/Product/list.twig)を開くと、まずすべきことは実際にこのファイルに処理が走っているかどうかを確認する。
プログラミング初心者にありがちなミスとして、記述方法について色々悩んでいたら、そもそもその部分に処理が通っていなかった!
みたいなことがよくあるので、なにか処理を追記する際は確実に、表示出来るタグ

<p>TEST</p>

やデバックの記述をして、まずは表示確認してから実装に入るといい。

testの画像.png
(↑TESTという文字が表示されているので、products/listにアクセスするとlist.twigに処理が通っていることが確認出来た)
処理が走っていることを確認出来たら次は、追記すべき箇所の確認をする

該当箇所を素早く探すテクニックとしてChromeのデベロッパーツールを使う方法を知らない方は是非覚えていただきたい。

products/litsを表示している状態で、「(税込)」を表示したい料金の箇所を確認すると

価格画像.png

class="price02-default"

というclassで表示していることが分かる。
この「price02-default」をlist.twigファイルの中で検索してみると
155行目.png

155行目辺りに対象の記述があることが分かる。
このendifの外に「(税込)」を追記することでタスク①は完了

税込の追記.png

以上、タスク①の解説となる。

大量のコードからいかに、早く正確に該当箇所を見つけるか、実務では大切になってくる。
アプリケーションの設計を掴むことや、検索の仕方を掴むことで、これぐらいのタスクはすぐにこなせることになると思います。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?