일단 모바일 댓글 에디터 사용에 대한 팁은
참고하셔서 먼저 에디터 사용가능하게 해놓으세요
1. BR태그 제거
form태그 안에
<input type="hidden" name="use_editor" value="Y" />
이 부분은 제대로 넣으셔야 합니다
저는 보이는 form마다 죄다 넣었더니 br태그가 안없어지던데
딱 적재적소한 두군데에만 넣으니 BR 태그 사라졌습니다
혹시 몰라서 스케치북 스킨 기준으로
_comment_wrtie 파일 소스 올립니다
<div class="cmt_editor" style="margin-top:30px"|cond="$mi->cmt_wrt_position=='cmt_wrt_btm' && $oDocument->getCommentcount()"> <label for="editor_{$oDocument->document_srl}" class="cmt_editor_tl fl"><em>✔</em><strong>{$lang->write_comment}</strong></label> <!--// Editor Select --> <div cond="$mi->select_editor!='N'" class="editor_select bubble fr" title="{$lang->noti_rfsh}"> <a class="tg_btn2" href="#" data-href="#editor_select"><em class="fa fa-info-circle bd_info_icon"></em> {$lang->select_editor}</a> <div cond="$rd_idx==0" id="editor_select" class="tg_cnt2 wrp"><button type="button" class="tg_blur2"></button> <a class="on"|cond="$mi->cmt_wrt=='simple'" href="#" onclick="jQuery.cookie('bd_editor','simple');location.reload();return false"><em>✔ </em>{$lang->textarea}</a> <a class="on"|cond="$mi->cmt_wrt=='editor'" href="#" onclick="jQuery.cookie('bd_editor','editor');location.reload();return false"><em>✔ </em>{$lang->wysiwyg}</a> <a cond="$mi->select_editor=='2' || $mi->cmt_wrt=='sns'" class="on"|cond="$mi->cmt_wrt=='sns'" href="#" onclick="jQuery.cookie('bd_editor','sns');location.reload();return false"><em>✔ </em>{$lang->sxc_editor}</a> <span class="edge"></span><button type="button" class="tg_blur2"></button> <!--// ie8; --><i class="ie8_only bl"></i><i class="ie8_only br"></i> </div> </div> <!--@if($grant->write_comment && $oDocument->isEnableComment())--> <form action="/" method="post" onsubmit="return procFilter(this, insert_comment)" class="bd_wrt cmt_wrt clear"> <input type="hidden" name="mid" value="{$mid}" /> <input type="hidden" name="document_srl" value="{$oDocument->document_srl}" /> <input type="hidden" name="comment_srl" value="" /> <input type="hidden" name="content" value="" /> <div cond="$mi->cmt_wrt=='editor'" class="wysiwyg">{$oDocument->getCommentEditor()}</div> <div cond="$mi->cmt_wrt=='simple'" class="simple_wrt"> <img cond="$logged_info->profile_image->src" class="profile img" src="{$logged_info->profile_image->src}" alt="profile" /> <span cond="!$logged_info->profile_image->src" class="profile img no_img">?</span> <div class="text"> <input type="hidden" name="use_html" value="Y" /> <input type="hidden" name="use_editor" value="Y" /> <input type="hidden" id="htm_{$oDocument->document_srl}" value="n" /> <textarea id="editor_{$oDocument->document_srl}" cols="50" rows="4"></textarea> </div> <input type="submit" value="{$lang->cmd_submit}" class="bd_btn" /> </div> <div class="edit_opt clear" style="display:none"|cond="$mi->cmt_wrt!='editor'"> <block cond="!$is_logged"> <span class="itx_wrp"> <label for="nick_name_{$oDocument->document_srl}">{$lang->writer}</label> <input type="text" name="nick_name" id="nick_name_{$oDocument->document_srl}" class="itx n_p" /> </span> <span class="itx_wrp"> <label for="password_{$oDocument->document_srl}">{$lang->password}</label> <input type="password" name="password" id="password_{$oDocument->document_srl}" class="itx n_p" /> </span> <span class="itx_wrp"> <label for="email_address_{$oDocument->document_srl}">{$lang->email_address}</label> <input type="text" name="email_address" id="email_address_{$oDocument->document_srl}" class="itx m_h" /> </span> <span class="itx_wrp"> <label for="homepage_{$oDocument->document_srl}">{$lang->homepage}</label> <input type="text" name="homepage" id="homepage_{$oDocument->document_srl}" class="itx m_h" /> </span> </block> <input cond="$mi->cmt_wrt=='editor'" type="submit" value="{$lang->cmd_submit}" class="bd_btn fr" /> <div class="opt_chk"> <block cond="$is_logged"> <input type="checkbox" name="notify_message" value="Y" id="notify_message_{$oDocument->document_srl}" checked="checked"|cond="@in_array('notify',$mi->wrt_opt)" /> <label for="notify_message_{$oDocument->document_srl}">{$lang->notify}</label> </block> <block cond="$mi->use_status!='PUBLIC'"> <input type="checkbox" name="is_secret" value="Y" id="is_secret_{$oDocument->document_srl}" checked="checked"|cond="@in_array('secret',$mi->wrt_opt)" /> <label for="is_secret_{$oDocument->document_srl}">{$lang->secret}</label> </block> </div> </div> </form> <!--// 대댓글 --> <div cond="$rd_idx==0" id="re_cmt"> <label for="editor_2" class="cmt_editor_tl fl"><i class="fa fa-share fa-flip-vertical re"></i><strong>{$lang->write_comment}</strong></label> <div class="editor_select fr"> <a class="wysiwyg" href="#"><em class="fa fa-info-circle bd_info_icon"></em> {$lang->use_wysiwyg}</a> <a class="close" href="#" onclick="jQuery('#re_cmt').fadeOut().parent().find('.re_comment').focus();return false"><i class="fa fa-times"></i> {$lang->cmd_close}</a> </div> <form action="/" method="post" onsubmit="return procFilter(this,insert_comment)" class="bd_wrt clear"> <input type="hidden" name="mid" value="{$mid}" /> <input type="hidden" name="document_srl" value="{$oDocument->document_srl}" /> <input type="hidden" name="content" value="" /> <input type="hidden" name="parent_srl" value="" /> <input type="hidden" name="use_html" value="Y" /> <input type="hidden" name="use_editor" value="Y" /> <div class="simple_wrt"> <input type="hidden" id="htm_2" value="n" /> <textarea id="editor_2" cols="50" rows="8"></textarea> </div> <div class="edit_opt"> <block cond="!$is_logged"> <span class="itx_wrp"> <label for="nick_name">{$lang->writer}</label> <input type="text" name="nick_name" id="nick_name" class="itx n_p" /> </span> <span class="itx_wrp"> <label for="password">{$lang->password}</label> <input type="password" name="password" id="password" class="itx n_p" /> </span> <span class="itx_wrp"> <label for="email_address">{$lang->email_address}</label> <input type="text" name="email_address" id="email_address" class="itx m_h" /> </span> <span class="itx_wrp"> <label for="homepage">{$lang->homepage}</label> <input type="text" name="homepage" id="homepage" class="itx m_h" /> </span> </block> <input type="submit" value="{$lang->cmd_submit}" class="bd_btn fr" /> </div> <span class="opt_chk"> <block cond="$is_logged"> <input type="checkbox" name="notify_message" value="Y" id="notify_message" checked="checked"|cond="@in_array('notify',$mi->wrt_opt)" /> <label for="notify_message">{$lang->notify}</label> </block> <block cond="$mi->use_status!='PUBLIC'"> <input type="checkbox" name="is_secret" value="Y" id="is_secret" checked="checked"|cond="@in_array('secret',$mi->wrt_opt)" /> <label for="is_secret">{$lang->secret}</label> </block> </span> </form> </div> <!--@else--> <div class="bd_wrt clear"> <div class="simple_wrt"> <span class="profile img no_img">?</span> <div class="text"> <a cond="!$is_logged" class="cmt_disable bd_login" href="#">{$lang->write_comment} {$lang->msg_not_permitted} {$lang->bd_login}</a> <div cond="$is_logged" class="cmt_disable bd_login">{$lang->write_comment} {$lang->msg_not_permitted}</div> </div> <input type="button" value="{$lang->cmd_submit}" disabled="disabled" class="bd_btn" /> </div> </div> <!--@end--> </div>
2. p태그 제거
https://github.com/xpressengine/xe-core/pull/1495/files
이 PR을 보시고 모두 적용시키셨을 겁니다..
저도 수정했엇는데 아무런 변화가 없어서 절망했지만...
우연하게 일정 부분을 주석처리하니 p태그가 말끔히 사라졌습니다
if(Mobile::isFromMobilePhone() && $obj->use_editor != 'Y') { if($obj->use_html != 'N') { // $obj->content = htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false); } //$obj->content = nl2br($obj->content); }
$obj->content = htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
와
$obj->content = nl2br($obj->content);
앞에 //으로 주석처리했더니 모두 정상으로 작동되었습니다
주석처리로 인해 어떤기능을 막았는지는 모르겠지만 p태그 말끔하게 사라졌습니다
comment_controller 기준으로 2군데 있으니 모두 주석처리 해주세요
여전히 p태그와 br태그 노출 문제로 마음고생하시는분들이 많으신거 같은데
잘될지는 모르겠지만 이 팁으로 해결되면 좋겠습니다~