채택완료
여분의 필드(wr_xx) 내용을 적고,,,게시글마다 별도의 메타태그로 사용할 수 있을지?
그누보드 head에 메타태그를 넣으면
사이트 전체에 메타태그가 생성됩니다.
각각의 게시글마다 내용이 다르기 때문에 이에 대한 헤시태그 처럼
여분의 필드에 넣으면 이 부분이 메타태그에 포함될 수 있도록 할 수 있는건지?
그누보드의 Q&A 태크라는 부분과 동일할듯합니다.
|
답변 3개 / 댓글 2개
채택된 답변
+20 포인트
2016-10-19 (수) 14:15:55
예를 들어볼게요
lib/common.lib.php파일하단에 함수를 만들어줍니다.
Copy
// 게시판 테이블 정보를 얻는다.function get_board_meta($fields='*',$bo_table){ global $g5; $bo_table = 'g5_write_'.$bo_table; $row = sql_fetch(" select $fields from {$bo_table} "); return $row[$fields];}
이렇게 함수를 추가하시고
head.sub.php파일을 열어주시고
작당한 위치에
$test = get_board_meta('wr_1',$bo_table);
echo $test;
이렇게 한번 해보세요
그러면 wr_1필드의 값이 뿌려와질겁니다.
해당함수에 wr_2라고하면 wr_2필드의 값이 뿌려와지겠죠
값이 뿌려졌으면 메타태그로만들어서 적용만 시키시면 될듯하네요
답변에 대한 댓글 2개
2016-10-19 (수) 15:29:27
2016-10-19 (수) 15:40:26
해당 소스는 참고하시라고 임의로 만들어본거구요
함수를 보시다시피
wr_1필드,$bo_table(게시판명) 이렇게 두개의 인자값을 함수로 넘겨주고있습니다.
받아주는 함수에서도 마찬가지로 2개를 받아주고있죠
function get_board_meta($fields='*',$bo_table)
여기에 해당글의 wr_id를 넘기고싶으시면 인자값에 추가하시면됩니다.
그리고 아래의 쿼리문을 알맞게 수정을 하셔야하겠지요
$test = get_board_meta('wr_1',$bo_table,$wr_id);
echo $test;
function get_board_meta($fields='*',$bo_table,$wr_id)
{
global $g5;
$bo_table = 'g5_write_'.$bo_table;
$row = sql_fetch(" select $fields from {$bo_table} where wr_id = {$wr_id} ");
return $row[$fields];
}
함수를 보시다시피
wr_1필드,$bo_table(게시판명) 이렇게 두개의 인자값을 함수로 넘겨주고있습니다.
받아주는 함수에서도 마찬가지로 2개를 받아주고있죠
function get_board_meta($fields='*',$bo_table)
여기에 해당글의 wr_id를 넘기고싶으시면 인자값에 추가하시면됩니다.
그리고 아래의 쿼리문을 알맞게 수정을 하셔야하겠지요
$test = get_board_meta('wr_1',$bo_table,$wr_id);
echo $test;
function get_board_meta($fields='*',$bo_table,$wr_id)
{
global $g5;
$bo_table = 'g5_write_'.$bo_table;
$row = sql_fetch(" select $fields from {$bo_table} where wr_id = {$wr_id} ");
return $row[$fields];
}
2016-10-19 (수) 10:18:19
보들이윤님
아래 코드 부분은 스킨(view.skin.php)입니다. 게시글의 head부분은 스킨에서 처리하지 않는거 같구요
/bbs/view.php에서 처리해야 하는건지요?
예시로 참고할 만한 코드가 있을까요?
번거롭겠지만, 부탁드립니다.
Copy
<?phpif (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가include_once(G5_LIB_PATH.'/thumbnail.lib.php'); // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);?> <script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script> <!-- 게시물 읽기 시작 { --><div id="bo_v_table"><?php echo $board['bo_subject']; ?></div> <article id="bo_v" style="width:<?php echo $width; ?>"> <header> <h1 id="bo_v_title"> <?php if ($category_name) echo $view['ca_name'].' | '; // 분류 출력 끝 echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력 ?> </h1> </header> <section id="bo_v_info"> <h2>페이지 정보</h2> 작성자 <strong><?php echo $view['name'] ?><?php if ($is_ip_view) { echo " ($ip)"; } ?></strong> <span class="sound_only">작성일</span><strong><?php echo date("y-m-d H:i", strtotime($view['wr_datetime'])) ?></strong> 조회<strong><?php echo number_format($view['wr_hit']) ?>회</strong> 댓글<strong><?php echo number_format($view['wr_comment']) ?>건</strong> </section> <?php if ($view['file']['count']) { $cnt = 0; for ($i=0; $i<count($view['file']); $i++) { if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) $cnt++; } } ?>...
2016-10-18 (화) 18:41:34
메타태그면 head부분에 적용이 되어야하는데
게시판 필드에다가 넣으면
head아래 content부분에 메타태그가 출력이 되겠네요
head부분에
if($bo_table) //게시판이라면
이라는 조건을 주어서
head부분에서 쿼리를 돌려서 해당 wr_xxx의 값을 불러오면 될듯하네요
사용하는데에는 지장이없을것같습니다.
답변을 작성하려면 로그인이 필요합니다.
한가지 죄송합니다...
함수에서 정보를 잘 못 불러오는거 같아서..
/lib/common.php 파일 맨 하단에 get_board_meta 함수추가
/theme/basic/head.sub.php
24라인쯤에 함수 호출하는 부분을 넣었구요
if (strstr($g5['lo_url'], '/'.G5_ADMIN_DIR.'/') || $is_admin == 'super') $g5['lo_url'] = '';
$test = get_board_meta('wr_1',$bo_table);
/*
// 만료된 페이지로 사용하시는 경우
echo %test; 출력을 하면 null상태라서요..(db 내용을 보니..wr_id에 따라 각각 다른값이라서..)
각각의 보드의 게시글마다 wr_id값이 있는데...이 부분을 $row로 설정한거 같은데요
함수 사용 시 $row 어떻게 사용하면 될까요?