Extra Form
PHP PHP 5.3
CMS XpressEngine

평소에는 그냥 "추천" 버튼이다가 추천이 1이상일시 "추천 {voted_count}" 을 받게 해놨는데

 

조건을 <span cond="$oDocument->get('voted_count')>0"> {$oDocument->get('voted_count')} </span>

 

이렇게주니 추천후 새로고침을 해야 "추천 1" 이런식으로 나옵니다.

 

문제는 추천/비추천을 새로고침없이 사용하다보니 추천버튼을 누른후 사용자가 직접 f5를 해줘야 추천수가 보이는데

 

사용자가 추천버튼을 누르면 새로고침없이 "추천" -> "추천 1" 로 나오게 하고싶은데 도움주시면 정말 감사하겠습니다

 

 

  • profile
    ajax로 처리해야하겠네요.
    div class 에서 해당 부분이 0일때는 style이 display:none 일때 1이되면 보여주기만 하면 될거 같은데요
  • profile ?
    답변 감사합니다.. 조금 더 자세히 설명해주실수 있으실까요? ajax에 대해 몰라서 조금 자세히 알고싶습니다
  • ? profile
    글로써 설명할려면 적는데, 사이트에 맞추는데 적어도 1주일넘게 작성해드려야하고 그 방법을 알려드린다 하더라도 정확하게 재대로 적용할수잇을지도 의문이들 정도로 아주 큰 범위입니다.
  • ? profile
    추천시 페이지가 새로고침 되어 추천 후 변화를 페이지에 적용되도록 기본설계가 되어 있습니다.
    그런데 지금 새로고침 없는 추천을 적용하셨다고 하셨죠? 그 적용한 부분 까지만 새로고침 없이 ajax로 변화된 부분을 가져오는 것입니다. 해당 자료에서 정한 영역까지만요.

    임의로 추가하신 부분이 있다면 당연히 기존 새로고침없이 추천을 완성해 주는 자료에서 컨트롤하는 부분에 빠져 있기에 안되겠죠?

    뭐든 추가를 하시면 새롭게 그부분도 ajax로 가져와서 추천수를 바꿔치기 해서 보여줘야 한다는 것입니다.
    개발자가 아니라면 이렇게 하면 됩니다 라고 했을때 할 수 없겠죠??
  • ? profile
    ajax라고 하는것은 자바스크립트를 사용하고, 새로고침 없이 서버와 통신하기 위해서 이용하는 방법입니다.

    개발에 대한 이해도가 높지 않다면 이 작업을 하는데 시간이 꽤 걸릴 수 있습니다.
  • profile

    cond 문법을 포함하여 스킨에 포함된 모든 html 소스는 해당 페이지를 최초 로딩할 때만 적용됩니다. 로딩 후에 뭔가를 클릭해서 화면상의 내용을 변경하는 것은 스킨의 html 소스가 아닌 자바스크립트를 이용해야 합니다. ajax는 자바스크립트에서 새로고침 없이 서버와 통신하기 위해 (이 경우에는 추천수를 받아오기 위해) 이용하는 기법 중 하나이고요.

  • profile
    ajax를 활용하여 실시간 추천이펙트를 구현하기 힘들다면 눈속임(?) 으로
    추천버튼을 누를시 추천수를 기존 추천수 + 1 로 변하도록 처리하는 방법도 있습니다.
    (사용자가 많아서 추천수가 확확 변하는 사이트의 경우 부정확하겠지만 적어도 추천을 누른사람에게는
    내가 추천을 누른것이 반영이 되었구나 라고 인지 시킬수는 있겠죠)

    이것또한 자바스크립트나 jquery로 특정 엘리먼트 부분을 컨트롤 해야 되는데..
    개발쪽을 잘 모르신다면 구현하기 쉽진 않겠네요 ㅠㅠ.....