확장변수를 입력하면 자동으로 제목으로 치환되게 가능할까요?
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
안녕하세요.
제목 입력란을 아예 없에버리고
확장 변수 입력하면 제목란에 자동으로 기입되는 기능을 사용하려고 합니다. 검색을 해도 찾을 방법이 없어서
도움을 요청 드립니다.
감사드립니다.

톰캣
Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.
댓글 22
관련해서 의뢰받아 만든 적 있습니다.
스킨에서, 해당 사용자정의 출력 부분에 직접 onchange 를 넣어서 구현하셔도 되고
jQuery 로 onchange 나 onclick 으로 외부에서 지정하실 수도 있고
예를들어, radio 형태라면, https://jsfiddle.net/crp6em1z/ 이런걸 참조하셔도 되고..
onchange 기술로 글쓰기 단에서 제목폼을 바꿀 수 있는 기술이 있나보네요. 연구해보아야겠습니다.
감사합니다.
내용이 긴 관계로 링크 남깁니다.
https://moonhouse.co.kr/xetip/578453
근데 코드를 보면 실제로 db에 제목으로 들어가는것이 아닌 리스트와 글읽기화면에서 임시로 제목을 바꿔 주는게 아닐까요?
디비로 치환까지는 아직 제 실력으로는 무리라서^.^
ㅎㅎ 임시방편으로 db 까지는 아니더라도
https://xe.conory.com/module_seopro
이 자료를 조금 고쳐쓰면 제목 부분을 바꿀 수 있어서 이렇게 사용하겠습니다.도움주셔서 감사합니다.
<script>
$(document).ready(function() {
var $title = $('input[name=title]');
var $extra_vars1 = $('input[name=extra_vars1]');
$extra_vars1.on('input', function() {
$title.val($(this).val());
});
});
</script>
확장변수 1에 입력한 값을 제목에 자동적으로 넣어 주는 형태입니다. 제목부분에 input type 속성을 hidden으로 주고 사용하시면 될듯 하네요.
제목으로 사용할 확장변수 번호를 확인해서 변경하시면 될듯 하네요.
extra_vars1 이부분 을 수정.
혹시 extra_vars1 . extra_vars2 이런식으로합치는 방법도 자바에서 있을까요?
<script>
$(document).ready(function() {
var $title = $('input[name=title]');
var $extraVar1 = $('input[name=extra_vars1]');
var $extraVar2 = $('input[name=extra_vars2]');
$extraVar1.on('input', function() {
var val1 = $extraVar1.val();
var val2 = $extraVar2.val();
$title.val(val1 + val2);
});
$extraVar2.on('input', function() {
var val1 = $extraVar1.val();
var val2 = $extraVar2.val();
$title.val(val1 + '-' + val2);
});
});
</script>
확장변수 1, 2 값을 문자열을 더해 제목에 넣는 형태입니다. 확장변수 1과 확장변수2를 더할때 구분자를 - 으로 넣어준 예입니다.
라이믹스에서 이미 jQuery를 불러오고 있으므로 이중으로 불러오면 문제가 생길 수 있습니다.
더 나은 방법이 있을가요?
jQuery(function($) {
var $title = $('input[name=title]');
var $extraVar1 = $('input[name=extra_vars1]');
var $extraVar2 = $('input[name=extra_vars2]');
$extraVar1.on('input', function() {
var val1 = $extraVar1.val();
var val2 = $extraVar2.val();
$title.val(val1 + val2);
});
$extraVar2.on('input', function() {
var val1 = $extraVar1.val();
var val2 = $extraVar2.val();
$title.val(val1 + '-' + val2);
});
});
</script>
jquery 로드 없이 이렇게 하니 되네요.. 좋은 지적 감사합니다.
참고로 최신 개발버전 사용중인경우 설정에서 jQuery 3.x 사용을 선택할수도 있지만 이경우 코어내 기능도 오동작할수 있습니다.
재가 작성한 팁보다 엄청 진보한 팁 입니다.👍
한가지 질문이 있는데요.
위의 팁대로 하면 한줄 입력칸, URL 형식, 단일 선택, 이메일 형식 같은 경우는 적용이 잘 됩니다.
근데 일자, 전화번호, 주소등은 적용이 안되네요.
혹시 이런 확장변수들도 적용가능한 방법이 있는지요?
주소창도 비슷하겠네요.
제목에 넣는 값으로 날짜나 전화번호,주소형태는 고려 대상이 아닐거라 생각하고 작성한 코드라.
고급기술은 다른고수님들이 답변을 좀...
라이믹스로 제작된 사이트에서 테스트해보니 jQuery 추가로 안불러와도 작동을 하네요.
귀한 댓글 감사합니다.
요즘 외근으로 테스트를 못해보네요 ㅠㅠ
저녁되어야 테스트 가능하겠네요!! 감사합니다. 잘사용하겠습니다.
추가 궁금증이 있는데
해보지는 않았지만 title 적는 부분을 readonly 나 disabled로 해주면될까요?
아니면 input 박스를 아예 제거 해버리거나 0px로 숨겨야할까요?
죄송합니다. 첫 댓글에
"제목부분에 input type 속성을 hidden으로 주고 사용하시면 될듯 하네요."
라고 적힌것 확인하였습니다. 감사합니다.