질문/조언팁/리소스 공유

일단 모바일 댓글 에디터 사용에 대한 팁은 

https://xetown.com/tips/92029

 

참고하셔서 먼저 에디터 사용가능하게 해놓으세요

 

 

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>

<[email protected]($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>

<[email protected]>
<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>
<[email protected]>

</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태그 노출 문제로 마음고생하시는분들이 많으신거 같은데

잘될지는 모르겠지만 이 팁으로 해결되면 좋겠습니다~


서버에 요청 중입니다. 잠시만 기다려 주십시오...