웹에이전시 전문 프리랜서 개발자 프리터코더입니다.
이번 챕터에서는 웹사이트 개발 과정 중 백오피스 메뉴 삭제를 작업합니다.
<백오피스 메뉴 삭제> 글은 웹에이전시의 의뢰를 받아서 프리터코더가 웹사이트를 개발하는 과정을 가상으로 보여주는 웹에이전시의 개발자들은 어떻게 일하나 시리즈 중 하나입니다.
백오피스 메뉴 삭제 기능을 만들어야 합니다.
다만 기능 구현 전에 확인해야 하는 점이 있는데, 바로 삭제 기능을 어디에 만들 것인지 여부입니다.
일반적으로 삭제 기능은 1.) 목록에서 바로 삭제를 구현하거나 2.) 수정 화면에서 삭제 버튼을 따로 두는 방식 둘 중 하나를 선택합니다.
우리는 과감하게 둘 다 구현해 보겠습니다.
이번에는 삭제 기능부터 먼저 만듭니다. /backoffice/menu_item/delete/index.php 파일을 생성합니다.
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/fc.php");
admin_is_login() ? true : redirect("/backoffice/login", "로그인이 필요합니다.");
if (is_post()){
$id = param("id");
delete_by_id("menu_item", $id);
redirect("/backoffice/menu_item");
}
목록에서 삭제를 구현합니다. th, th 항목에 삭제를 넣습니다.

화면을 확인해 봐요. 잘 나오는 것 같습니다.

확인 메뉴가 나오는지 체크하기 위해서 삭제 버튼을 클릭합니다.

기획자 팁
개발자 실수로return을 빼먹으면 가끔 "취소" 버튼을 클릭했는데도 삭제가 되는 경우가 있어요.
물론 1차적으로는 개발자가 체크해야 하는 이슈기는 하지만, 혹시 모르니 2차 확인 부탁드립니다.
가끔 백오피스 화면에서 예쁜 UI를 위해서 모달 팝업 같은 걸 구현해 달라는 분이 계시는데.. 백오피스는 예쁘라고 존재하는 것이 아니라 데이터의 관리를 위해 있는 거에요.
모달 팝업을 구현하려면 퍼블리셔의 리소스가 추가로 필요하므로 반드시 필요한 것이 아니라면 지양하는 것을 추천합니다.
물론 기존에 있는 모달 팝업을 이용하는 것은 가능하지만, 굳이 필요할까요?
확인 버튼을 누르면 다시 목록으로 돌아옵니다. 삭제가 잘 되었는지 확인해 봅시다.

아까는 2개였던 메뉴가 1개로 줄었습니다.
데이터베이스에서도 체크해 봐야 합니다.

row 가 1개만 있네요. 성공입니다.
상세 페이지도 똑같이 구현합니다.

저장 버튼과 삭제 버튼이 붙어있으면 오클릭이 일어날 가능성도 있기 때문에 버튼의 위치만 오른쪽으로 변경합니다.

삭제 버튼을 클릭해서 데이터가 없어진 것을 확인합니다.

마지막으로 데이터베이스 조회를 통해 크로스 체크를 합니다.
