컨텐츠확장위젯을 연구해보고 나름 만들어보려ㅕ 시도중인데..
{$item->getExtraVar5($widget_info->content_cut_size)}
다섯번째확장변수라고해서 getExtraVar5 라고 php열어서 만들어놓고..
이렇게하면 위젯에 설정한 내용글자수에 맞게 글자수가 제한될줄알았는데 안되네요,,
요렇게 적으면안되나요?...
확장변수 출력하는것까지는 문제가 없어용
안되는건 글자수제한만 어케하는지 몰라서그렇네요 ㅠ.ㅠ 제가 엄청난 초보라 감안한 답변 부탁드립니다...
댓글 10
정말요?? 스케치북에
{$document->getTitle($mi->subject_cut_size)}
라는 부분이 있길래 subject cut하는것처럼 글자수제한하는 뭔가 만들어 볼 수있는거아닌가해서요...
그러면 {$document->getTitle(60)} 처럼 딱 지정된 글자수 (60?)만큼 제한하도록 만드는 방법은 있을까요?..
아 제가 이름을 직접 만들어서..그렇습니다 ㅎㅎ
1부터 5까지 총 5개의 확장변수를 출력하게 만들려고 하다보니...확장변수출력자체는 문제가 업서요 ㅠㅠ
5번 확장변수의 글자수를 좀 제한해보고 싶어서 ..그렇습니다 ㅠ
일단 김웃김님 말씀처럼
$item->getExtraVar5가 아니라
$item->getExtraVars() 인 것 같고요
만약 글자를 줄일 려면 그 안에 값을 입력하는 게 아니라
mb_substr($item->getExtraVars(), 0, 50,"utf-8");
참고로 0은 시작, 50은 출력할 글자 수.
이런식으로 mb_substr 함수를 사용해서 글자수 제한을 걸어야 할 겁니다.
근데 $item->getExtraVars() 이 함 수가 확장변수 값을 출력하는 게 맞다는 전제하에..
5가지 서로 다른 확장변수를 따로따로 출력하고자 만들었는데 잘 되서 괜찮다고 생각했거든요..
이렇게 하니 서로 서로 스타일을 다르게 지정해 줄 수 있었어요 흠..
<!--@else if($v=='extravar')-->
<span class="ext">{$item->getExtraVar()}
<!--@else if($v=='extravar2')-->
{$item->getExtraVar2()}
<!--@else if($v=='extravar3')-->
{$item->getExtraVar3()}
<!--@else if($v=='extravar4')-->
{$item->getExtraVar4()}</span>
요런식으로 하나하나씩 만들어준거에요 컨텐츠확장위젯응용해서요 ㅎㅎ
스케치북이야기는
https://xetown.com/qna/122053
제가 문의드린 것을 토대로 적용해보았는데
제목같은경우엔 타이틀이니까.. 타이틀부분에 숫자를 넣으면 되겠구나 싶어서
{$document->getTitle($mi->subject_cut_size)} 대신 {$document->getTitle(60)} 라고 지정하니 정말로 제목 문자수가 줄어들더라구요 ㅎㅎ
그래서 같은 요령으로 확장변수 출력한 부분도 마찬가지로 줄일 수 있지 않을까 싶어서..노력해 보는 중입니다 ㅎㅎ
그런데 그게 잘 안되네요..
방법 자체가 잘못됬나보네요.. 시무룩
+헉 제가 이걸 안적었네요..!! PHP수정은 확장변수 추가를 위해 수정했다는 말이고
제가 문의드리고 있는 부분은 HTML에서 조정하는 것을 말하고 있던거였어요 ㅠㅠ!!!
일단 getTitle이라는 함수에 숫자를 입력하면 해당 글자수 만큼 출력되도록 함수가 되어 있지만,
확장변수는 그렇지 않아요.
그렇기 때문에 별도의 php 함수를 이용해서 글자를 잘라줘야 합니다.
즉, 최종 입력값이 나오는 함수(변수)를
{mb_substr(여기, 0, 50,"utf-8")}
여기라고 써있는 부분에 넣으면 돼요.
코노하님 덕택에 또 한 걸음 나아가네요 ㅎㅎ
저처럼 못만드는 사람에겐 꼭 필요한 스크립트입니다 ㅜㅜ! 감사합니다!!