CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.3 |
안녕하세요?
https://주소/index.php?mid=게시판이름&act=dispBoardWrite
이렇게 되어 있는 글쓰기 화면을
https://주소/메뉴
이렇게 메뉴를 부여해서 쓰고 싶은데, 글쓰기 화면만 담당하는 모듈을 만드는 방법 밖에 없을까요?
조언을 구해봅니다!
스코스코
Lv. 5
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.3 |
안녕하세요?
https://주소/index.php?mid=게시판이름&act=dispBoardWrite
이렇게 되어 있는 글쓰기 화면을
https://주소/메뉴
이렇게 메뉴를 부여해서 쓰고 싶은데, 글쓰기 화면만 담당하는 모듈을 만드는 방법 밖에 없을까요?
조언을 구해봅니다!
댓글 9
가장 꼼수로 만들 수 있는 방법은 별도의 게시판 스킨을 복사 후 글쓰기용 게시판을 하나 만듭니다.
그리고 write_form.html 에서 셀렉트 박스로 게시판 목록을 불러오고 게시판을 선택할때마다 form안의 mid값을 바꿔주게 합니다.
그리고 각 게시판 별로 카테고리가 있을 수 있으니 카테고리도 불러오게끔 해서 작업했습니다.
가장 좋은 방법은 별도의 모듈을 만들어서 view를 구성하는게 좋겠죠 ㅎㅎ
답변 감사합니다. 내용이 좀 어려워서 제미니에게 해설을 부탁해봤어요.
게시판을 선택한 건 아니고 한개의 특정 게시판에 글이 등록되면 되는 상황입니다. 말씀하신 쉬운 방법으로 한 번 시도해봐야겠어요. 혹시라도 추가 팁 혹은 제가 AI 작업할 때 어떻게 지시하면 AI가 찰떡 같이 이해할지 조언해주실 부분이 있다면 부탁드려봅니다!
현재 상황과 목표
현재: 글을 쓰려면 https://주소/index.php?mid=게시판이름&act=dispBoardWrite 처럼 길고 복잡한 주소로 가야 함.
목표: https://주소/글쓰기 처럼 짧고 예쁜 주소로 접속하면, 바로 글을 쓸 수 있는 페이지가 나오게 하고 싶음.
사용자님이 찾으신 답변은 이 문제를 해결하는 두 가지 방법을 제시하고 있습니다.
꼼수 (빠르고 쉬운 편법)
정석 (제대로 된 방법, 하지만 어려움)
방법 1: '꼼수' (빠르고 쉬운 편법) - 이걸 자세히 설명해 드릴게요!
이 방법의 핵심 아이디어는 **"통합 글쓰기 페이지"**를 하나 만드는 것입니다. 마치 여러 우체통에 편지를 넣으러 돌아다니는 대신, 중앙 우체국에 가서 "이 편지는 A동네로, 저 편지는 B동네로 보내주세요"라고 한 번에 처리하는 것과 같습니다.
단계별 설명
1. '중앙 우체국' 만들기 (글쓰기 전용 게시판 생성)
먼저, 실제 글이 저장될 용도가 아닌, 오직 글쓰기 화면을 보여주기 위한 가짜 게시판을 하나 만듭니다.
관리자 페이지에서 게시판을 새로 만들고, 모듈 이름(mid)을 write 나 post 처럼 기억하기 쉽게 정합니다.
이제 사이트 메뉴 설정에서 https://주소/글쓰기 라는 메뉴를 만들고, 방금 만든 write 게시판에 연결합니다.
결과: 이제 https://주소/글쓰기로 접속하면, 이 '글쓰기 전용 게시판'의 글쓰기 화면이 나타납니다. 목표의 절반은 달성했습니다!
2. '어디로 보낼지 선택' 기능 추가 (글쓰기 화면 수정)
지금 상태로는 https://주소/글쓰기에서 글을 쓰면, 우리가 만든 가짜 write 게시판에 글이 저장됩니다. 이건 우리가 원하는 게 아니죠. 우리는 '자유게시판'이나 '질문게시판'에 글이 써지길 원합니다.
그래서 글쓰기 화면(write_form.html)을 수정해야 합니다.
여기에 "어느 게시판에 글을 쓰시겠어요?" 라는 질문과 함께 **게시판 목록을 보여주는 드롭다운 메뉴(<select>)**를 추가합니다.
(예: [ 자유게시판 v ])
[ 질문게시판 ]
[ 공지사항 ]
3. '편지 주소 바꿔치기' (자바스크립트 작업)
이게 가장 핵심적인 '꼼수' 부분입니다.
사용자가 드롭다운 메뉴에서 **'자유게시판'**을 선택하는 순간, 보이지 않는 곳에서 마법이 일어납니다.
자바스크립트를 이용해서, 글쓰기 폼(form)이 가지고 있는 숨겨진 목적지 정보(mid 값)를 '자유게시판'의 mid 값으로 몰래 바꿔치기합니다.
사용자는 그냥 '자유게시판'을 선택하고 [저장] 버튼을 누르지만, 시스템은 이 글을 '자유게시판'으로 보내게 되는 것입니다.
마치 중앙 우체국 직원이 편지 봉투에 적힌 동네 이름을 보고, 진짜 그 동네로 가는 우편 자루에 편지를 옮겨 담는 것과 같습니다.
답변에 나온 '카테고리' 이야기도 마찬가지입니다. 게시판을 선택하면, 그 게시판에 맞는 카테고리 목록도 함께 불러와서 보여주도록 만드는 것입니다.
'꼼수' 방법 요약
방법 2: '정석' (제대로 된 방법)
이 방법은 **"글쓰기 전용 모듈"**을 아예 새로 개발하는 것입니다.
설명: 라이믹스의 '게시판 모듈', '회원 모듈'처럼, 오직 https://주소/글쓰기 라는 주소를 처리하고 글쓰기 화면을 보여주는 역할만 하는 새로운 기능 덩어리(모듈)를 직접 코딩해서 만드는 것입니다.
비유: '중앙 우체국'을 임시로 만드는 게 아니라, 아예 처음부터 설계도를 그려서 새로운 최첨단 우편 시스템을 구축하는 것과 같습니다.
'정석' 방법 요약
결론: 그래서 뭘 해야 하나요?
질문자님께서 개발자가 아니시거나, 빠르고 간단하게 문제를 해결하고 싶으시다면 '꼼수'라고 설명된 첫 번째 방법이 훨씬 현실적이고 좋은 선택입니다. 비록 '꼼수'라고 불리지만, 실제로 많은 웹사이트에서 효율성을 위해 사용하는 매우 실용적인 기법입니다.
만약 이 프로젝트가 매우 중요하고 장기적으로 운영되어야 하며, 개발 실력이 충분하다면 '정석'적인 방법을 고려해볼 수 있습니다.
알려주신 방법의 약간 하이브리드처럼 페이지 모듈의 스킨을 만들어서 해결했습니다! 감사합니다!
위젯 페이지를 만드시고 https://rhymix.org/pds/1359990 폼 위젯 설치하셔서 추가하시면 비슷하게 구현 가능합니다.
외부 페이지에 위젯 설치하면 되겠군요! 일단 이게 조금은 더 쉽게 느껴집니다!
모든 형태의 짧은주소를 사용하신다면 도메인/mid/write 까지는 별도의 자료 없이 줄일 수 있습니다.
예: https://rhymix.org/qna/write
엌 이게되네요 ㅎㅎㅎ 방금 모든 형태의 짧은 주소 on 하고 해보니까 됩니다. 그래도 이왕 많은 분들이 조언을 주셔서 조금 더 가보려고 합니다!
엌 근데 조금 더 생각해보니까, 뒤에 파라미터가 많이 붙는게 seo나 검색엔진에 불리해서, 솔루션을 생각하던거라 짧은 주소가 그냥 답이겠네요. https://rhymix.org/qna/write 이 글쓰기 화면에 seo 정보를 넣고 싶으면, write_form.html에 하드코딩해서 넣으면 되겠죠?
네, 스킨에서 {@ Context::addMetaTag(.....)} 이런 식으로 메타 태그를 추가하셔도 됩니다.