반복되는 html 통합?, 다른 html의 정보를 불러오기(초보)

조회수 879회

에쉬코드를 이제 알게되었네요. 고수분들의 답변 기다립니다.

작은 홈페이지를 하나 구상중입니다.

유튜브의 주소가 링크된 요소가 많은데요. 예를들면 하단메뉴, 메인메뉴 모두 스트리밍 주소가 링크되어 있습니다.

즉 여러개의 페이지에 있는 여러개의 버튼이 같은 링크로 연결되는 구조입니다. 그런데 이 링크를 매 주 수정해 주어야합니다. 모든 페이지에 요소를 하나하나 바꾸자니 너무 비효율적이라 분명히 방법이 있을텐데.. 잘 모르겠습니다. 워드프레스의 숏코드 같은.. 그런 방법이 있을텐데..

또한 지금 사용중인 홈페이지는 저렴한 프리셋을 구입해 구축 중인데 각 요소들이 div를 통해 구성됩니다. div id를 통해서 페이지 내에서 작동하고 있는데 문제는 메인메뉴창 지도버튼의 div 내용이 모든 페이지에 다 삽입해야 작동되고 있습니다... 이렇게 되면 지도 수정을 위해서는 모든 페이지의 div를 다 수정해야하는데.. 이것도 분명히 위 내용과 비슷한 방법이 있을 것으로 생각됩니다.

삽질하고 있는 초보를 도와주십시오...

202.31.229.3 입니다. 뜯어봐주시고.. 필요한 자료가 있다면 말씀해 주십시오..

감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 아이고 주여...

    일단 말씀하시는 것은 흔히 템플릿이라고 부르는 개념입니다. 워드프레스의 숏코드랑은 좀 다르지만 아무튼 동적으로 HTML 응답을 구성한다는 점에서는 비슷하긴 하겠네요.

    다음을 순서대로 시도해 보시겠어요?

    1. 업로드해 놓은 모든 html 파일의 확장자를 .php로 고친 다음, 사이트 각 메뉴의 .html.php로 바꾸었을 때 잘 접속되는지 확인한다.

    이 단계가 실패한다면, 솔직히 말씀드리면 답이 좀 없습니다.
    NGINX 서버 담당자한테 부탁하셔서 PHP 7.0 이상을 실행 가능하게 해달라고 요청하세요.

    2. (1이 성공했다면) 문제의 메인메뉴 부분만 아무데서나 싹 잘라내서 _menu_main.php 같은 걸로 저장한다.

    이 조각 파일을 다른 .php 파일에서 돌려 쓰게 됩니다.

    3. index.php의 메인메뉴 부분을 다음으로 교체하고 저장한다.

    <?php include '_menu_main.php'; ?>
    

    그리고 다시 index.php를 열어봤을 때, 메인메뉴가 잘 뜨는지 확인한다.

    여기서 index.php는 원래는 index.html이었던 거 이해 되시죠?
    잘 뜨면, 이런 식으로 원하는 만큼 조각내어 쓰실 수 있습니다. 이론상, 서로가 서로를 include하지만 않는다면, include는 원하는 만큼 아무렇게나 하실 수 있습니다.
    여기서부터는, 각 조각만 한번 수정하면 그 조각을 include하는 모든 페이지에서 동일하게 적용이 되겠죠. 이게 원하시는 것입니다. 굳이 용어를 붙이자면, 아주 원시적인 형태의 PHP 템플릿 구현이라고 할 수 있을 거 같습니다.

    4. 코드이그나이터공부하고 설치한 뒤, 지금까지 만든 .php 파일들을 application/views 폴더에 적당히 구성해 집어넣고 컨트롤러(및 모델)를 작성하여 사이트를 새로 만든다.

    워드프레스 테마 개념으로 접근해도 되겠지만 그건 너무 한세월 걸리는 얘기일 거 같고 템플릿을 사오셨다고 하셨으니 코드이그나이터를 권해 드립니다.

    일단 이 정도까지만 한번 시도해 보세요.

    • 감사합니다 ㅠㅠ 일단은 다행히 서버를 자체운영중인데 php7.0은 사용 가능합니다. 메인 메뉴 부분을 잘라서 php를 인클루드하는 것은 이해했습니다. 그럼 그 php를 아주 작게 구성해서 단순한 한 줄짜리 주소라거나.. 이렇게도 사용하는할지가.. 궁금하네요 ㅎㅎ 일단 시도해 보겠습니다. 너무나 감사드립니다. 사실 html로 다 해결해보고 싶었으나..ㅠㅠ 너무나도 감사드립니당.. 이제 시도하러 갑니다... 해결되기를 ㅠㅠ 알 수 없는 사용자 2021.3.22 19:42
    • 아주 작아도 되죠. 일단 이래저래 해보세요. 참고로 '한줄짜리 주소' 같은 건 코드이그나이터 같은 프레임워크를 쓰면, 어딘가에 한번 변수로 정의해놓은 뒤 여러 php 뷰파일에서 돌려쓰는 게 가능합니다. 엽토군 2021.3.23 07:55

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)