답변 3개
특정 페이지(예를 들어 sub_01 페이지) 상단에
define('_SUB01_', true);
을 지정합니다.(여기에서 _SUB01_는 상수값으로 제가 임의로 지정한 것이구요. 상수는 변수와 다르게 보통 대문자로 지정합니다.)
head.php 파일에서
<?php
if(defined('_INDEX_')) { // index에서만 실행
include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어
}
?>
코드 부분을
<?php
if(defined('_INDEX_') || defined('_SUB01_')) { // index에서만 실행
include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어
}
?>
로 수정해 주시고요.
페이지가 추가되면 위의 형식대로 하나씩 추가해주시면 됩니다.
답변에 대한 댓글 3개
<?php
?>
여기 사이에 넣으세요.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 25개
2. 조건문의 script_name 을 원하는 페이지로 조절하시면 됩니다.
요기서 스크립트네임은 어떤식으로 하라는건지 이해를 못하겟어요..
이렇게 작성하시면 됩니다.
['SCRIPT_NAME'] 하고 상관이 있는지 하구요.. ㅠ
if($_SERVER['SCRIPT_NAME'] == "/bbs/page.php?hid=free_fan") { define('_INDEX_', true); }
?>
이거구요.
일반문서로 페이지 만든거여요.
이렇게 해 보세요.
뒤에 파라미터가 반드시 있어야 하는 상황이라면,
$_SERVER['SCRIPT_NAME'] 대신에 $_SERVER['REQUEST_URI'] 로 바꾸어서 해 보세요.
일반문서로 페이지 만들고 모든페이지 다 테스트 해봣는데도 안되네요..
안되는건가봐요..ㅜㅜ
그리고, 오늘하루열지않기가 되어 버렸다면, 뜨지 않을 수도 있으니, 쿠키 삭제를 해 보세요.
아무래도 안되지 싶어요 ㅜㅜ 하루종일 씨름하네요 ㅠㅠ
답변 주셔서 감사해요... ㅜㅜㅜㅜㅜ
user.config.php 에는 이렇게 했습니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 특정 페이지에 팝업 띄우기
if($_SERVER['SCRIPT_NAME'] == "/bbs/page.php?hid=use") { define('_INDEX_', true); }
?>
혹시, head.php 에
include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어
이런 코드가 있나요?
php 소스를 보지 않고는 답변을 드리기 힘들 것 같습니다.
if($_SERVER['SCRIPT_NAME'] == "/bbs/page.php") { define('_INDEX_', true); }
이렇게 해 보세요.
user.config.php 에는 이렇게 하고
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 특정 페이지에 팝업 띄우기
if($_SERVER['SCRIPT_NAME'] == "/bbs/page.php?hid=use") { define('_INDEX_', true); }
?>
달리 또 몰 하라는건 없는데요..ㅜ.
head.php 에 include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어 넣으니
되긴하는데요.
다른분 답변 주신것처럼 메인팝업의 닫기가 안눌리는 현상이 생겨요..ㅜ으아아아아
?hid=use 를 빼고
/bbs/page.php 만 해 보세요.
이것도 메인에서의 팝업닫기가 되질않아요. .
include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어
이게 두번 include 되는 것 같습니다..
제가 알려 드린 방법은 그누보드 기본 소스를 변경하지 않고 적용하는 방법입니다.
그누보드 원본 소스를 수정하지 말고 적용해 보세요.
그런 것으로 보아서는, 팝업 기능 적용전 소스에 문제가 있어 보입니다.
php 소스를 봐야 알 수 있을 것 같습니다.
user.config.php 에 소스만 추가했고.
다른건 만지지 않았어요. 원래상태입니다.
head.php는 이거에요.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(!defined('THEMA_PATH')) {
include_once(G5_LIB_PATH.'/apms.thema.lib.php');
}
if(USE_G5_THEME && defined('G5_THEME_PATH')) {
require_once(G5_THEME_PATH.'/head.php');
return;
}
// Page Iframe Modal
if(APMS_PIM) {
include_once(G5_PATH.'/head.sub.php');
@include_once(THEMA_PATH.'/head.sub.php');
return;
}
//Change Mode
$as_href['pc_mobile'] = (G5_DEVICE_BUTTON_DISPLAY) ? get_device_change_url() : '';
// Head Sub
include_once(G5_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/latest.lib.php');
$page_title = apms_fa($page_title);
$page_desc = apms_fa($page_desc);
$menu = apms_auto_menu();
$menu = apms_multi_menu($menu, $at['id'], $at['multi']);
if($is_member) thema_member();
//Statistics
$stats = apms_stats();
if($is_main && !$hid && !$gid ) {
$newwin_path = (G5_IS_MOBILE) ? G5_MOBILE_PATH : G5_BBS_PATH;
@include_once ($newwin_path.'/newwin.inc.php'); // 팝업레이어
}
if(IS_YC) {
if(IS_SHOP) {
if(file_exists(THEMA_PATH.'/shop.head.php')) {
include_once(THEMA_PATH.'/shop.head.php');
} else {
include_once(THEMA_PATH.'/head.php');
}
} else {
if(file_exists(THEMA_PATH.'/head.php')) {
include_once(THEMA_PATH.'/head.php');
} else {
include_once(THEMA_PATH.'/shop.head.php');
}
}
} else {
include_once(THEMA_PATH.'/head.php');
}
?>
이건 별로 중요하지 않습니다. 테마 시스템에서는 건드릴 필요도 없고요.
제가 말씀드린 head.php 소스는, 빌더나 테마에 있는 head.php 소스, 즉 실제 적용되는 소스를 말합니다.
그리고, 알려주신 홈페이지는, 제가 브라우저를 닫아 버려서 들어가 볼 수가 없습니다.
죄송하지만, 오늘은 시간이 늦어 더이상 답변을 드릴 수 없을 것 같습니다.
여차저차 해결 되엇어요 ㅜㅜ!!
두번불러 온다 하셔서 루트 헤드에서 팝업레이어 주석처리 햇더니 잘되네요 ㅎ!
정말 감사드립니다 마스타님!
script_name 대신에 request_uri 를 사용해 보시기 바랍니다.
if($_SERVER['REQUEST_URI'] == "/bbs/page.php?hid=use") { define('_INDEX_', true); }
이렇게 하시면, ?hid=use 라는 파라미터로 구분해서 사용할 수 있습니다.
댓글을 작성하려면 로그인이 필요합니다.
head.php에 들어가보시면
</p><p> <?php</p><p> if(defined('_INDEX_')) { // index에서만 실행</p><p> include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어</p><p> }</p><p> ?></p><p>
이렇게 팝업 레이어 소스가있습니다.
간단하게 아래처럼 if문{}만 지워주시면 될듯하네요
</p><p> <?php</p><p> include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어</p><p> ?></p><p>
이렇게 if문을 제거하면 모든 페이지에서 head.php파일을 호출하기때문에
모든 페이지에서 팝업 창이 나타납니다.
이것을 특정 페이지도 추가하고싶다고 한다면
예를들어서 게시판명 aaa, 내용명 bbb에 나타나게 하고싶다면
</p><p style="font-size: 14.6667px;"> <?php</p><p style="font-size: 14.6667px;"> if(defined('_INDEX_') || $bo_table == 'aaa' || $co_id == 'bbb') { // index에서만 실행</p><p style="font-size: 14.6667px;"> include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어</p><p style="font-size: 14.6667px;"> }</p><p style="font-size: 14.6667px;"> ?></p><p>
이렇게 처리하시면 될것같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
define('_SUB01_', true); 로 넣었는데.. 페이지에 텍스트로 나와요...ㅜ
상단에 지정하라는게 정확히 어떻게 하라는말씀이신가요 ..