Extra Form
PHP PHP 7.3
CMS Rhymix

사실 위젯에서 regdate 옵션으로 지원은 합니다만

 

현재)

regdate="1" 옵션

 

2019년 7월 16일 5시에 글을 작성했으면

2019년 7월 18일 00시 00분에 위젯에서 글이 없어짐

 

원하는 방향)

regdate="1" 옵션

 

2019년 7월 16일 5시에 글을 작성했으면

2019년 7월 17일 5시에 위젯에서 글이 없어짐

 

 

입니다.. 그래서 위젯소스를 보니

 

 if($args->regdate) $obj->regdate = date("Ymd", strtotime("-{$args->regdate} day"));

 

이부분에서 처리를 하는거같은데 제 예상으로는 위젯옵션에서 regdate="1" 을 포함하면 -{$args->regdate} day 에서 -1day 로 처리하는거같은데 

date("Ymd", strtotime("-{$args->regdate} day"));

에서 y(년)m(월)d(일) 만 받아오니 시간까지 체크를 못해서 지금처럼 처리되는거같은데 이부분을 어떻게 개선하면 제가 원하고자 하는 방향으로 수정될수 있을까요?

  • profile
    보통 위젯에서 시간기준으로 하는 경우가 많으니 다른 위젯에서 참조해보세요.
    위젯의 php 와 쿼리가 연동되니 다 살펴보셔야 합니다.
  • profile ?
    제딴에는 해당줄에서 시간까지만 불러오면 되는줄 알았는데 아닌가보군요..
  • ? profile
    최종적으로는 쿼리파일에서 $obj->regdate 값을 받아서 처리합니다.
    쿼리파일에서 db 에서 가져오는 값이 어떻게 되는지 확인해 보셔야 합니다.
  • profile ?
    $obj->regdate 에서는 2019.07.17 14:40:45

    이런식으로 가져오는거 같습니다
  • ? profile

    위젯의 쿼리파일을 열어보세요. 해당 값으로 잘라서 가져오게 되어있는지요.

    db에는 2019071713313500 이런식으로 저장되어 있기에 최종적으로는 이런값으로 쿼리해야 시간단위로 기한 지정해서 가져올 수 있을 겁니다.

  • profile ?
    queries 폴더안에 있는 xml 파일들 말씀하시는건가요?

    <condition operation="more" column="regdate" var="regdate" pipe="and" />

    관련된건 이거밖에 없는거같습니다
  • ? profile

    네. 해당파일에서 php에서 잡아준 기준 날자로 db에서 가져오게 되어있습니다. 저도 개발자가 아니고 전체 위젯 소스를 보지 않은 상황에서 어떻게 고치라고 말씀을 드리진 못하지만...

    저 regdate 값에 원하시는 년월일분시초 가 정확하게 담겨야 합니다.

    년월일 뒷자리를 모두 0으로 처리하는 것이 있다면 해당 부분을 고쳐야 할 것이구요.

  • profile ?
    쿼리에서 년분일시초까지 불러와서 php 파일보면
    function getRegdate($format = 'Y.m.d H:i:s')
    {
    return zdate($this->get('regdate'), $format);
    }
    해당부분으로 처리한거같은데 맞게본지는 모르겠네요 한번 이것저것 수정해봐야겠습니다..
  • ? profile
    php를 정확히 알지 못하고 코드를 다 못본 상태에서 추측으로

    date("YmdHi", strtotime("-{$args->regdate} day"));

    이렇게 고치시고 위젯 옵션값에 분 단위인 1440 숫자를 넣어보세요.

    지금 보여주신 코드로 추측하기엔 이런 방식인 듯 합니다.
  • ? profile
    이렇게 보여주시니 저도 코드가 뭐가 뭔지 모르겟습니다.
  • profile ?
    헐.. 동작하는것 같습니다?!?!?!?!? 확신하긴 이르고 좀 지나봐야 알거같지만 감사합니다