얼마전 배포된 hook 기능으로 회원 사이드뷰에 추가 항목을 넣어 보려고 꼼지락 거리다가
문득 "어 프론트에서 자바스크립트로도 가능하겠는데?" 라는 생각이 들어서 테스트해 보니 역시 되네요.
pc 와 모바일 모두 view.skin.php 와 list.skin.php 의 가장 하단부에 아래의 코드를 넣어줍니다.
뷰페이지 본문, 뷰페이지의 모든 댓글, 리스트페이지의 모든 목록에 적용됩니다.
예제는 2개를 넣어 보았는데 같은 패턴으로 더하거나 빼나가면 됩니다.
[code]
<script>
for (add_sideview of document.querySelectorAll(".sv_wrap .sv")) add_sideview.insertAdjacentHTML("beforeend", "<a href='https://sir.kr' rel='nofollow'>그누보드</a>");
for (add_sideview of document.querySelectorAll(".sv_wrap .sv")) add_sideview.insertAdjacentHTML("beforeend", "<a href='https://cafe.daum.net/gnuworld' rel='nofollow'>비타주리</a>");
</script>
[/code]

기본적으로
for (i of document.querySelectorAll(".sv_wrap .sv")) i.insertAdjacentHTML("beforeend", "첨가태그");
의 형식을 가지고
php 에서 조건에 따라 표현하고 싶으면 아래처럼 하면 되겠죠.
<?php if (조건) { ?>
for (i of document.querySelectorAll(".sv_wrap .sv")) i.insertAdjacentHTML("beforeend", "첨가태그");
<?php } ?>
첨가태그에는 폼액션문을 넣어도 됩니다.
그누순정 basic 과 gallery 스킨에서만 테스트해 보았고 그 이외의 것은 본인들이 알아서 해결하세요.^^
댓글 10개
사실 이건 user.config.php 파일 안에
[code]
<script>
document.addEventListener("DOMContentLoaded", () => {
for (add_sideview of document.querySelectorAll(".sv_wrap .sv")) add_sideview.insertAdjacentHTML("beforeend", "<a href='https://sir.kr' rel='nofollow'>그누보드</a>");
for (add_sideview of document.querySelectorAll(".sv_wrap .sv")) add_sideview.insertAdjacentHTML("beforeend", "<a href='https://cafe.daum.net/gnuworld' rel='nofollow'>비타주리</a>");
} );
</script>
[/code]
위와같이 삽입하면 뷰페이지와 리스트페이지를 건드릴 필요도 없고 최신글 스킨에도 다 먹습니다.
문제는 리스트페이지의 css 가 좀 흔들린다는 것과 사이드뷰를 사용하지 않는 일반페이지에도 저 코드가 들어가서 그럴 경우 쓸모없는 "뻘코드"가 된다는 것이지요.
그래서 필요할 때만 호출하는 형태의 이프문을 넣어주어야 해요.
게시글 목록
| 번호 | 제목 |
|---|---|
| 23966 | |
| 23963 | |
| 23953 | |
| 23949 | |
| 23938 | |
| 23935 | |
| 23933 | |
| 23928 | |
| 23919 | |
| 23918 | |
| 23917 | |
| 23910 | |
| 23902 | |
| 23901 | |
| 23897 | |
| 23894 | |
| 23893 | |
| 23891 | |
| 23885 | |
| 23872 | |
| 23870 | |
| 23862 | |
| 23859 | |
| 23853 | |
| 23845 | |
| 23838 | |
| 23827 | |
| 23819 | |
| 23805 | |
| 23801 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기