직접 제작한 php에서 스마트 에디터 사용.. 하휴..

직접 제작한 php에서 스마트 에디터 사용.. 하휴..

QA

직접 제작한 php에서 스마트 에디터 사용.. 하휴..

답변 7

본문

최상단에


<?php
include_once('./_common.php');
include_once(G5_EDITOR_LIB);
?>

이렇게 넣어줬구요..

 

출력부분에


    <form action="" method="POST" name="newmovie">
        <select name="ca">
            <?php for($i=0; $row = sql_fetch_array($educome); $i++){ ?>
                <option value='<?php echo $row['name'] ?>' <?php if ($row['name'] == $edus) {?>  selected="selected" <? } ?> > <?php echo $row['name'] ?> </optin>
            <? } ?>
        </select>
        <input type='text' name='common'>
        <input type='text' name='title' '>       
         <input type='text' name='moviename' >
        <input type='text' name='subtitle' >
        <?php echo editor_html('text', get_text(html_purifier($member['mb_10']), 0)); ?>
    </form>

 

이렇게 넣어줬는데..

 

2041209561_1696213823.9267.png

요로코롬 지혼자 전체 화면이 되어버리고 맘니다..

여러 팁들 계속 확인하고 qna 확인했는데 계속 빠갈나여 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 7

다음과 같이 시도해 볼 수 있을 것 같습니다.

 


<?php
include_once('./_common.php');
include_once(G5_EDITOR_LIB);
?>
<div id="form-container">
    <form action="" method="POST" name="newmovie">
        <select name="ca">
            <?php for ($i = 0; $row = sql_fetch_array($educome); $i++) { ?>
                <option value='<?php echo $row['name'] ?>' <?php if ($row['name'] == $edus) { ?>selected="selected"<?php } ?>><?php echo $row['name'] ?></option>
            <?php } ?>
        </select>
        <input type='text' name='common'>
        <input type='text' name='title'>
        <input type='text' name='moviename'>
        <input type='text' name='subtitle'>
        <?php echo editor_html('text', get_text(html_purifier($member['mb_10']), 0)); ?>
    </form>
</div>

 

폼 요소들을 적절한 컨테이너 내에 넣어야 합니다. 전체 화면을 차지하지 않도록 div 또는 다른 요소를 사용하여 폼을 감싸주면 될 것 같습니다.

참고하셔서 원하시는 형식으로 구현해 보세요

해당 php 파일은 어디에 있나요?

해당 폴더 안에 _common.php 파일은 있나요?
있다면, 그 파일 소스는 아래처럼 되어 있나요?
include_once('../common.php');

PS. 주소/경로 오류일수도 있으니 참고해 보세요.
https://homzzang.com/b/html-166


<?php echo editor_html('text','',1); ?>

로 작성하면 페이지 자체가 다른 페이지로 바뀌어 버림


<?php echo editor_html('text','',0); ?>

로 작성하면 일단 textarea로 나옴.. 페이지도 정상적..


<?php
include_once('./_common.php');
include_once(G5_EDITOR_LIB);
?>

<div id="editor-container">
    <textarea name="text"></textarea>
</div>

<script>
    // CKEditor 라이브러리를 로드하고 에디터를 초기화합니다.
    CKEDITOR.replace('text'); // 'text'는 에디터 컨테이너의 식별자입니다.
</script>



이렇게 해 볼 수 있을것 같습니다. CKEDITOR 부분은 실제 사용하는 에디터로 수정 하시면 됩니다.

위 소스코드 상위 CSS 적용으로 그런것 같습니다.

F12 누르셔서 콘솔 탭에서 오류가 있는지도 채크해보세요.

그러면 위 소스로는 오류를 찾을 수 없습니다.

URL 을 공개해야 이유를 찾을수 있을것 같네요.

근본적인 해결 방법은 아니지만.. 그래도 일단 해결은 했습니다.

원인은 파악하지못했구요.

 


<textarea name="editorTxt" id="editorTxt" style="width:100%;"></textarea>
<script>
 
let oEditors = [];
 
     smartEditor = function() {
            nhn.husky.EZCreator.createInIFrame({
                oAppRef: oEditors,
                elPlaceHolder: "editorTxt", //textarea에 부여한 아이디와 동일해야한다.
                sSkinURI: "./plugin/editor/smarteditor2/SmartEditor2Skin.html", //자신의 프로젝트에 맞게 경로 수
                fCreator: "createSEditor2"
            })
        }
 
     $(document).ready(function() {
        //스마트에디터 적용
          smartEditor();          
     })
</script>

 

일단 강제로 에디터 출력으로 변경하니까 작동은 잘 되네요..

하지만 근본적으로 맞게 하고 싶어서 찾는중인데요..

기본에디터 editor.lib.php 에서


 if ($is_dhtml_editor)
        $html .= '<script>document.write("<div class=\'cke_sc\'><button type=\'button\' class=\'btn_cke_sc\'>단축키 일람</button></div>");</script>';

이부분 꺼버리면 잘 되여..

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 208
© SIRSOFT
현재 페이지 제일 처음으로