get_view_thumbnail($view['content']) 랑 $view['wr_content'] 랑 뭐가 다른가요!?

get_view_thumbnail($view['content']) 랑 $view['wr_content'] 랑 뭐가 다른가요!?

QA

get_view_thumbnail($view['content']) 랑 $view['wr_content'] 랑 뭐가 다른가요!?

본문

view.skin.php보면

echo get_view_thumbnail($view['content'])을 사용했는데요,

echo $view['wr_conten']를 사용한거랑 뭐가 다른가요?

이미지 원본보기 정도 차이인가요?

 

이 질문에 댓글 쓰기 :

답변 1

이미지 썸네일 출력차이입니다

get_view_thumbnail

함수 이름으로만 봐도 알 수 있듯이 썸네일을 생성하는 함수입니다.

에디터로 사진을 첨부하고 글을 작성했을때
뷰 페이지에 해당 에디터로 첨부된 사진의 썸네일을 생성하는건가요?

라이브러리 보니까
get_editor_image 이 함수로 $content의 img 태그를 추출한다고 되어 있어서요.

만약 맞다면.
echo $view['wr_content'] 로 출력해도
썸네일 생성은 동일한거 아닌가요?

echo $view['wr_content'];
여기는 파일 첨부로 등록한 이미지는 해당이 없고 에디터로 첨부한 이미지만 해당됩니다.

echo $view['wr_content'];
이렇게 하면 썸네일은 생성되지 않습니다. 원본 이미지가 출력됩니다.

get_view_thumbnail 썸네일 함수를 사용해야 썸네일이 생성됩니다.

get_editor_image 는 단순히 이미지 태그를 추출하는 함수일뿐입니다.

get_view_thumbnail 함수를 사용해서 $view['content'] 를 출력하면
에디터로 첨부된 이미지와, 파일로 첨부한 이미지 모두 출력이 가능한데

get_view_thumbnail 함수 없이 $view['wr_content'] 만 출력하게 되면
파일 첨부로 첨부한 이미지를 썸네일이 만들어 지지 않는다는 거죠?



제가 지금
$view['wr_content'] 출력 하는데
파일첨부된 이미지, 에디터로 넣은 이미지 모두 출력되는데;;
-_-;;
왜이럴까요;


(모바일 에디터는 사용하지 않을 계획입니다.)
pc에서 작성한 글을 모바일에서 수정하려고 하니
html 태그가 주르륵 나와서
고민한 끝에 아래처럼 소스 수정해서 테스트 중이거든요.
근데
get_view_thumbnail 로 출력하면
html 태그가 나와버리고
$view['wr_content'] 로 하면 이미지와 텍스트 첨부파일이미지 모두 정상 출력됩니다.
이유가 뭘까요;;.



<td class="wr_content">
.
.
<div contentEditable="true" id="mobileEditor"></div>
<div style="display:none">
   <?php echo $editor_html; ?>
</div>
.
.

</td>

<script>
$(function(){
	
	$(document).ready(function(){
		var textarea = $("#wr_content");
		var div = $("#mobileEditor");
		var content = textarea.html();
		
		function decode_html(html){
			var txt = document.createElement('textarea');
			txt.innerHTML = html;
			return txt.value;
		}
		function remove_tags(text, selector){
			var wrapped = $(text + '<br>');
			wrapped.find(selector).remove();
			return wrapped.html();
		}
		function nl2br(str){
			return str.replace(/\n/g,"<br>");
		}

		div.html(decode_html(content));
		div.on('keydown', function(){
			textarea.html($(this).html()).trigger('keydown');
		});
	});
	
	$('#fwrite').on('submit', function(){

		function decode_html(html){
			var txt = document.createElement('textarea');
			txt.innerHTML = html;
			return txt.value;
		}

		function remove_tags(text, selector){
			var wrapped = $('<div>' + text + '</div>');
			wrapped.find(selector).remove();
			return wrapped.html();
		}
		
		var textarea = $(this).find('#wr_content');
		var content = $(this).find('#mobileEditor').html();

		var escaped = decode_html(content);
		var escaped = remove_tags(escaped, '#mobileEditor');
		textarea.val(content);
	});
	
	// img에 style 없애기
	$("#mobileEditor").find('img').removeAttr("style");
});
</script>

view.skin.php 파일을 수정하고 계시는 거라면 여기를 주석 처리하고 확인을 하셔야겠죠.
파일 첨부로 등록하는 이미지는 여기에서 관리됩니다.
// echo $view['file'][$i]['view'];
// echo get_view_thumbnail($view['file'][$i]['view']);

에디터로 등록하는 이미지는 wr_content 필드에 이미지 태그가 직접 저장되고
파일 첨부로 등록하는 이미지는 별도의 파일 테이블에서 관리됩니다.

아...
작은별님께서 말씀하신 get_view_thumbnail 은 첨부파일 출력 말씀하신건가요?
전 본문 출력할때도 get_view_thumbnail 이 쓰여서


<?php echo get_view_thumbnail($view['content']) ?>
<?php echo $view['wr_content']; ?>


위 두 코드의 결과값은 같은데(적어도 저는 지금;;)
왜 get_view_thumbnail 함수를 쓰나해서요

처음에 했던 얘기를 다시 하는데 썸네일 출력이냐 아니냐의 차이입니다.
get_view_thumbnail 함수가 썸네일 생성 함수입니다.
눈으로 보이는 출력되는 화면은 이미지 품질 외에 특별한 차이가 없습니다.
코드 바꿔가면서 이미지 경로를 비교해보세요. 하나는 썸네일이고 하나는 원본 이미지 경로입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 219
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT