본문을 리스트에서 불러오는데 코드블럭도 불러오고 싶습니다.
본문
안녕하세요.
게시판 리스트에서 본문 내용을 그대로 불러오려고,
리스트에서
<div id="bo_v_con"><?php echo $list[$i]['wr_content'] ?></div>
이렇게 입력했고, 원하는대로 잘 불러와 지고 있습니다.
그런데,
제가 비타주리님께서 스킨게시판에 올려주신 코드블럭(Syntax Highlight)도 사용중인데,
https://sir.kr/g5_skin/49311
이것도 리스트에서 같이 불러오고 싶은데, 방법을 모르겠습니다.
이 코드블럭을 본문에서 불러오기 위해서는 view.tail.skin.php 하나만 추가하면 되기에,
혹시나해서 내용 그대로 복사해서 list.tail.skin.php을 만들어 봤지만 작동하지를 않네요.
그래서 그냥 내용을 list.skin.php 하단에 view.tail.skin.php 내용을 그대로 넣어 보기도 했는데, 역시나 작동하지 않습니다.
혹시 방법이 있을까요?
아니면 리스트에서 불러오기는 불가능할까요?
아시는 분 계시면 답변 주시면 감사하겠습니다.
추가 :
원인을 알았습니다.
list.tail.skin.php 하단에 내용을 넣어도 코드블럭이 안 불러졌는데,
페이지당 목록 수를 1개로 하니 코드블럭이 보여지네요.
페이지당 목록 수를 여러개로 할 경우 <div id="bo_v_con">이 여러개 있어서 그런거 같은데,
이거 방법이 없을까요?
아래는 view.tail.skin.php 내용입니다.
<?php if (!defined("_GNUBOARD_")) exit; ?>
<!-- syntax highlight 옵션 시작 : wittazzurri -->
<link rel=stylesheet href=//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/a11y-dark.min.css>
<script src=//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js></script>
<style>
pre { position:relative; -ms-overflow-style:none; }
pre::-webkit-scrollbar { display:none; }
.codeButton { position:absolute; cursor:pointer; top:15px; right:15px; }
</style>
<script>
editorName = "<?php echo $board['bo_use_dhtml_editor'] ? $config['cf_editor'] : "none"; ?>";
function codeCopy() {
copyText.style.display = "block";
copyText.value = arguments[0].innerText.trim();
copyText.select();
document.execCommand("copy");
copyText.style.display = "none";
copySound.play();
alert("COPY CODE!!!");
}
function hlMode() {
this[arguments[0]].innerHTML = this[arguments[0]].innerHTML.replace(/\[code\]/gi, "<div class=_code_" + arguments[0] + ">").replace(/\[\/code\]/gi, "</div>");
classN = document.getElementsByClassName("_code_" + arguments[0]);
for (n = 0; n < classN.length; n++) {
if (arguments[0] == "bo_v_con") {
if (editorName == "none") changeCode = classN[n].innerHTML.replace(/\<br\>\<br\>/gi, "*br*").replace(/\<br\>/gi, "").replace(/\*br\*/gi, "<br>") + "<br>";
else if (editorName == "cheditor5") changeCode = classN[n].innerHTML.replace(/<(\/p|p)([^>]*)>/gi, "") + "<br>";
else changeCode = (classN[n].innerHTML.replace(/\<p\>/gi, "").replace(/\<\/p\>/gi, "<br>") + "<br>").replace(/\<br\>\<br\>/gi, "<br>");
}
else changeCode = classN[n].innerHTML.replace(/\<br\>\<br\>/gi, "*br*").replace(/\<br\>/gi, "").replace(/\*br\*/gi, "<br>") + "<br>";
classN[n].innerHTML = "<pre><code>" + changeCode + "<span class=codeButton><img src=<?php echo "$board_skin_url/file/copy.png"; ?> onclick=codeCopy(parentElement.parentElement)></code></pre></span>";
}
}
hlGroup = ["bo_v_con"];
for (vtc = 0; vtc < document.getElementsByClassName("cmt_contents").length; vtc++) {
document.getElementsByClassName("cmt_contents")[vtc].id = "cmt_num_" + (Number(vtc) + 1);
hlGroup.push(document.getElementsByClassName("cmt_contents")[vtc].id);
}
for (hl in hlGroup) hlMode(hlGroup[hl]);
hljs.initHighlighting();
document.write("<textarea id=copyText style=display:none></textarea>");
document.write("<audio id=copySound src=<?php echo "$board_skin_url/file/copy_sound.mp3"; ?>></audio>");
codeDiv = document.getElementsByTagName("div");
for (ncd = 0; ncd < codeDiv.length; ncd++) if (String(codeDiv[ncd].classList).indexOf("_code_") > -1) codeDiv[ncd].removeAttribute("class");
codeZone = document.getElementsByTagName("code");
for (cz = 0; cz < codeZone.length; cz++) {
for (cza = 0; cza < codeZone[cz].getElementsByTagName("audio").length; cza++) codeZone[cz].getElementsByTagName("audio")[cza].innerHTML = "<span class=hljs-string>" + codeZone[cz].getElementsByTagName("audio")[cza].src + "</span>";
for (czv = 0; czv < codeZone[cz].getElementsByTagName("video").length; czv++) codeZone[cz].getElementsByTagName("video")[czv].innerHTML = "<span class=hljs-string>" + codeZone[cz].getElementsByTagName("video")[czv].src + "</span>";
for (czy = 0; czy < codeZone[cz].getElementsByTagName("iframe").length; czy++) codeZone[cz].getElementsByTagName("iframe")[czy].innerHTML = "<span class=hljs-string>https://youtu.be/" + codeZone[cz].getElementsByTagName("iframe")[czy].src.split("/")[4] + "</span>";
codeZone[cz].innerHTML = codeZone[cz].innerHTML.replace(/<(\/audio|audio)([^>]*)>/gi, "");
codeZone[cz].innerHTML = codeZone[cz].innerHTML.replace(/<(\/video|video)([^>]*)>/gi, "");
codeZone[cz].innerHTML = codeZone[cz].innerHTML.replace(/<(\/iframe|iframe)([^>]*)>/gi, "");
codeZone[cz].innerHTML = codeZone[cz].innerHTML.replace(/<(\/a|a)([^>]*)>/gi, "");
codeZone[cz].style.fontSize = "1rem";
codeZone[cz].style.fontFamily = "times";
codeZone[cz].style.padding = "20px";
codeZone[cz].style.borderRadius = "15px";
codeZone[cz].style.backgroundColor = "#000000";
}
</script>
<!-- /syntax highlight 옵션 종료 : wittazzurri -->
답변 3
예전코드는 오류가 좀 있어서...
며칠내로 오류 수정하여 올릴게요.
https://sir.kr/g5_skin/49311 << 이것 >>>http://www.mediaplayer.kr/main/utility/11
그대로 리스트에 다 넣으면 될것 같은데요 안되던가요?
정확히 리스트에 어떤부분을 호출할려구 하는지요 ? ;;난 감이 안오네요;;
list.skin.php 가장 하단부에
view.tail.skin.php 에 작성된 내용 넣어보세요