>백엔드 개발 >PHP 튜토리얼 >Dedecms Dedecms에 의한 전원의 일반적인 문제 수정 방법 요약

Dedecms Dedecms에 의한 전원의 일반적인 문제 수정 방법 요약

WBOY
WBOY원래의
2016-07-29 08:36:553665검색

신규 이민자를 위한 자주 묻는 질문, 이 게시물은 제가 공식 버전 3.1에서 게시한 것입니다. 일부 문제가 수정되었지만 수정이나 학습을 위한 참고 자료로 사용할 수 있습니다
인내심을 갖고 읽어 보십시오. 문제가 많네요. 왜 계속 질문을 올리시나요?
게다가 이 내용을 읽은 후 자신의 백엔드에 가서 특히 arclist 태그의 매개변수 설명을 읽어보세요!! 문제에 대해 더 생각하고 태그를 실험해보세요. 배울 수 없다면 누구도 도와줄 수 없습니다!!
한 가지 더.. 많은 태그에 대해서는 시스템의 기본 템플릿 및 템플릿 영역. 좋은 템플릿이 있습니다. 각 태그의 사용법을 이해하려면 더 많은 태그를 읽어보세요.
아래 게시물이 있으면...DEDE의 叏江frozen?
3.1 최신 버전에 감사드립니다. lit은 첫 번째 수준 열 열인 최종 목록입니다. 목록이 하위 열의 기사 수정 사항을 표시하도록 합니다.
include/inc_arclist_view.php
Line 80:
$addSql .= " And (typeid ='".$this->TypeID." ' or typeid2='".$this->TypeID."') ";
이 다음으로 변경되었습니다.
//상위 항목이 발생하는 문제를 해결하기 위해 추가되었습니다. -수준 목록은 하위 수준 목록을 호출할 수 없습니다.
$ssid = TypeGetSunID($this->TypeID,$this->dsql)
$ssid2 = str_replace('typeid','typeid2',$ ssid);
//추가 종료
$ addSql .= " And (typeid='".$this->TypeID."' 또는 ".$ssid." 또는 typeid2='".$this ->TypeID."' 또는 ".$ssid2.") ";//이 문장도 수정되었습니다
위 부분은 페이징 문제를 해결하는 데 사용됩니다
include/inc/inc_fun_SpGetArcList.php
70번째 줄부터:
if($ridnum>1){
$tpsql = ""
for($i=0;$i<$ridnum;$i ){
if ($tpsql=="") $tpsql .= " And (".TypeGetSunID( $reids[$i],$dsql,'arc');
else $tpsql .= " Or ".TypeGetSunID($reids [$i],$dsql,'arc');
}
$tpsql .= ") ";
$orwhere .= $tpsql;
}
else{
$orwhere .= " And ".TypeGetSunID( $typeid,$dsql,'arc')
}
다음으로 변경됨:
if($ridnum>1) {
$tpsql = "";
for($i=0 ;$i<$ridnum;$i ){
if($tpsql=="") {
//수정 시작 기사의 두 번째 열은 issue
$ssid = TypeGetSunID($reids[$i ],$dsql,'arc')
$ssid2 = str_replace('typeid','typeid2',$ssid) ;
$tpsql .= " And (".$ssid." 또는 ".$ ssid2;}
else {
$tpsql .= " 또는 ".TypeGetSunID($reids[$i],$ dsql,'arc');
$tpsql .= str_replace('typeid',' typeid2',$tpsql);}
}
$tpsql .= ") "; = $tpsql;
unset($tpsql);
}
else {
$ssid = TypeGetSunID($typeid,$dsql,'arc'); typeid','typeid2',$ssid);
$orwhere .= " And ( ".$ssid." or ".$ssid2.") ";//다음을 호출하는 기사의 두 번째 열 수정을 끝냅니다. 문제
}
하위 컬럼 기사 목록을 호출하는 문제를 해결하기 위해 사용하는 부분입니다
제가 작성한 교체 코드가 너무 거칠어서 임시로 사용하시고 공식 해결 방법이 나오면 교체하시면 됩니다
include/inc_arclist_view.php에서 변경할 사항이 하나 더 있습니다:
//단일 열 문서 목록 가져오기

//카테고리 ID에 대한 조건
$orwhere .= " And (# @__archives.typeid='".$ this->TypeID."' 또는 #@__archives.typeid2='".$this->TypeID."') ";
변경됨:
// 카테고리 ID의 조건
$ssid = TypeGetSunID($this->TypeID,$this->dsql)
$orwhere .= " And (#@__archives.typeid='".$this-> ;TypeID."' 또는 ".$ ssid." 또는 #@__archives.typeid2='".$this->TypeID."') "
그렇지 않으면 80행 때문에 목록 내용이 없는 페이지가 있게 됩니다. is Select count(*).....
컬럼 경로에 대한 {cmspath}가 있습니다.
먼저 {cmspath}의 의미에 대해 알아보겠습니다. 백그라운드에서 "시스템 구성 매개변수"를 엽니다. 두 번째 항목인 DedeCms 설치 디렉터리를 볼 수 있습니다.
파싱된 경로는
beta2가 lit로 업그레이드된 경우 열 속성을 수동으로 수정하고 {cmspath}를 제거해야 합니다. 설정을 실행할 수 있으며 업그레이드 후 이전 B2의 모든 파일을 lit
의 모든 파일로 대체하여 {cmspath}가 웹 사이트 경로로 정상적으로 구문 분석될 수 있도록
{cmspath} 매개변수를 사용하지 않는 경우 , 다음과 같이 SQL을 실행할 수 있습니다
: update dede_arctype set typedir=replace(typeidr,'{cmspath }','');
데이터베이스에서 {cmspath}를 제거하려면
그런 다음 Catalog_add 파일을 수정합니다. .php 찾기 $true_typedir = str_replace("{cmspath}",$cfg_cmspath,$typedir);
변경
$true_typedir = str_replace("",$cfg_cmspath,$typedir)
괜찮습니다
[field:description /]이 태그의 단어 수를 제한하는 방법은 무엇입니까?
[field:description function='cn_substr( @me,80)'/]
dede의 모든 태그는 다음을 지원합니다. 이런 방식으로 기능합니다
버전 3.1 친화적인 링크가 추가된 후 홈페이지에 표시되지 않는 문제에 대해
이 문제의 주된 이유는 BLT가 작성하고 있기 때문입니다. 테이블 dede_flink의 ischeck 값을 반전시켜 발생했습니다.
3.01에서 ischeck=1은 홈페이지 링크를 의미합니다. 2는 내부 페이지 링크를 의미하지만 3.1은 정반대입니다.
가장 간단한 것을 제공합니다. 수정은 inc_fun_SpGetFriendLink.php를 열고
라인 13을 찾는 것입니다. .
CODE:
$wsql = " where ischeck=1 ";
[클립보드에 복사]
1을 2로 변경합니다.
11.11 업데이트 이후에는 inc_fun_SpGetFriendLink 호출이 완료되었습니다. .php 파일이 취소되었습니다.
따라서 inc_arcpart_view.php
410행 근처
CODE:
$wsql = " where ischeck=1 "
if($type =="p_w_picpath") $wsql .= " 및 로고<>'' "
else if($type=="text") $wsql .= " 및 로고='' "
else $wsql .= "";
[클립보드에 복사]
ischeck=1을 2로 변경하세요.
3.1LIT 버전 광고 이름 수정 비효율적인 솔루션
http://bbs.dedecms.com /read.php?tid=7135
4층 답변 보기
dede 새 버전 목록에서 기사 요약 삭제하는 방법
[field:info/] 삭제
백엔드 로그인 인증코드 스타일 수정 안내
http://bbs.dedecms.com/read.php?tid=6244
기사 설명에 나타나는 영문 길이가 표보다 긴 경우 @의 너비가 긴 경우 me,30)' /]
새로운 채널 모델 튜토리얼
http://bbs.dedecms.com/read.php?tid=5972
dedecms는 이중 스타일의 목록 페이지를 구현합니다
<테이블 너비='100%>
{dede:list type='full'}

[field:typelink /] [field:textlink /]클릭:[field:click /]([field:stime /] )

{/dede:list}

기사 목록(템플릿)에 함수를 구현하고 싶습니다. list_article) 기사에 썸네일이 있는 경우 썸네일이 표시됩니다. 그렇지 않은 경우 "썸네일 없음" 이미지를 표시하지 않고 기사 목록이 직접 표시됩니다.
dedecms의 확장은 함수 형식입니다. if 구조를 추가하면 너무 많은 리소스를 차지하기 때문입니다. 필요한 경우 다음과 같이 할 수 있습니다.
[field:picname function="GetMyPic('@me) ')"/ ]
inc_functions.php에서 함수 정의
function GetMyPic($img)
{
if($img=="") return "";
else return " ";
}
이런 식으로 처리
이 방법은 조금 불편할 수 있습니다. 하지만 장점은 둘 다입니다. 너무 많은 리소스를 차지하거나 템플릿 구조에 영향을 주지 않고 확장 목적을 달성하며 템플릿과 코드의 진정한 분리를 달성합니다
이미지를 클릭하면 다음 페이지로 이동합니다
include/inc_archives_view.php
라인 444에 대해 왼쪽과 오른쪽에서
$this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField]를 찾습니다.
주석 처리하고
$this- >Fields[$this->SplitPageField]=$this->ClickPicNext($this->Fields[$this->SplitPageField])로 변경합니다. 🎜>그럼 마지막에 함수 추가하시고, 안쪽의 괄호에 주목해주세요!
//링크로 사진 교체
//--------------- ------------
함수 ClickPicNext (&$body)
{
if($this->NowPage!=$this->TotalPage){
$lPage=$this->Now페이지 1;
$body= preg_replace("/<(img|IMG)(.*)(src|SRC)=["|'| ]{0,}(( .*)>)/isU","". "${0}"."",$body )
//$body="". $body." "
}else{
if($this->GetNext()){
$body=preg_replace("/<(img|IMG)( .*)(src|SRC)=["|'| ]{0,}((.*)>)/isU","< ;a href='".$this->GetNext()." '>"."${0}"."",$body);
//$body=" ".$body." ";
}
}
return $body;
}
기사의 사진을 다음 기사로 자동 교체 페이지 링크가 마지막 페이지이면 다음 기사입니다.
참고: 먼저 이전 기사를 변경하고 다음 기사를 변경해야 합니다! 다음 수정 방법에 따른 기사!
[dede3.1][변경 방법] 이전 기사와 다음 기사가 별도로 호출되며, 현재 전체 사이트가 아닌 기사가 위치한 열로 제한됩니다.
http://bbs.dedecms.com/read.php?tid=5051
기사 목록에서 일부 제목이 잘려서 표시됩니다. ? 파일 이름은 무엇입니까?
{dede:arclist row=16 orderby=pubdate col=1 typeid=3}

  • · [field:title function="cn_substr('@me',30)" /]

  • {/dede:arclist}
    방법 about 기사 이름 앞에 기사 열을 표시하시겠습니까?
    ·[field:typelink/] [field:textlink/]
    /dede:arclist}
    생성된 기사 파일 이름에 MD5 암호화를 추가할 수 있나요?
    직접 변경하세요. 이는 일반적인 지루한 요구 사항입니다
    include/inc_channel_unit_functions.php
    . :writer /]왜 쓸모가 없나요
    inc_arcpart_view.php의 lit 버전은 추가 테이블을 읽지 않습니다
    incinc_fun_SpGetArcList.php의 120행을 수정하고 마지막에 arc.writer를 추가합니다.
    물론 할 수 있습니다 소개하고 싶으면 추가하세요. 추가 테이블 내용은 다음과 같습니다.
    arc.writer, arc.source, arc.shorttitle,
    새로 설치된 DEDECMS3.0.1, 처음 로그인했을 때, 내 비밀번호가 틀렸다고 합니다!
    dede_admin 테이블이 있으면 데이터가 있는지 확인하세요.
    사용자 이름과 비밀번호에 없는 기호가 있는지 확인하세요. 허용,
    일반적으로 서버가 설치의 SQL 가져오기를 완료하지 못할 수 있기 때문에 사용자 이름이 존재하지 않는다는 메시지가 표시될 수 있습니다.
    사용자를 수동으로 추가해도 괜찮습니다.
    할 수 있습니다. 또한 데이터베이스에서 dede_admin 테이블을 삭제한 다음 다시 설치하세요.
    목록 페이지 페이지 매김에 대해 생성 중에 테이블이 수정됩니다.
    검색
    //정적 페이징 목록 가져오기
    에서 일부 페이징 관련 내용을 볼 수 있습니다. 다음 줄
    여러 열 스타일 및 시스템 기본 템플릿 문제에 대해
    arclist 사용
    {dede:arclist
    typeid= '' row='' col='' titlelen=''
    infolen='' imgwidth='' imgheight='' listtype='' orderby='' 키워드=''}
    사용자 정의 스타일 템플릿(InnerText) //여기에 표시하는 스타일을 정의합니다. 기본 스타일을 수정하지 마세요. 문제를 해결하세요.
    {/dede:arclist}
    다른 열의 템플릿은 시스템 기본값인 {style}/list_article.htm을 사용할 필요가 없습니다.
    표지 템플릿이나 목록을 수동으로 지정할 수 있습니다. 예: {style}/list_class1.htm
    {style}/list_class2.htm
    등. 이렇게 하면 더 많은 스타일을 가질 수 있습니다.
    dedecms를 사용하는 아이디어입니다. 새로운 웹사이트 구축
    1. 두 가지 새로운 모델
    북 모델과 챕터 모델
    을 만듭니다. 2. 파일 게시 프로그램을 다시 작성하는 것이 핵심입니다. 현재 콘텐츠 모델을 제공하는 cmsware와 dede입니다. 그럴 수는 없지만, 데데가 자체 구축한 채널에서 제공하는 파일 퍼블리싱 프로그램 아이템을 활용하면 좋을 것 같습니다. 이 4개의 파일(인터페이스 2개와 제출 후 처리 프로그램 2개)을 다시 설치하세요.
    3. Qidian 중국어 웹사이트의 모델을 만들고 싶다면 회원 디렉토리에 제출할 프로그램을 작성해야 하며, 플러스에서 빌링, 포인트 계산 및 기타 기능과 같은 비즈니스 모델에 대한 프로그램을 작성해야 합니다.
    사실 dede는 콘텐츠 게시 프레임워크일 뿐이며 제공되는 백그라운드 도구는 관리자만을 위한 것입니다. 사용자는 다양한 모델을 완벽하게 사용자 정의할 수 있지만 dede에 익숙해야 합니다.
    프로그램 작성에 능숙한 분들은 한 번 시도해 보시기 바랍니다.
    내 맞춤 태그가 항상 텍스트로 출력되는 이유는 무엇입니까?
    태그에 ismake='yes' 속성을 추가하세요
    이미지 SEO에 대한 몇 가지 생각,
    [field:title /]< + 위로 이동 형식 없이 붙여넣으라는 메시지가 표시됩니다.
    라벨 정의는 어디에 있나요?
    포함된 모든 파일, ***view.php는 보기를 제어합니다.
    자동 문제와 관련하여 페이징
    자동 페이징의 크기는 2~5까지만 가능합니다.
    3은 각 페이징이 3K임을 의미합니다.
    Dongyi와는 다릅니다. Dongyi는 바이트 단위이므로 2000 또는 3000을 쓸 수 있습니다. DEDE는 K이므로 2 또는 3만 쓸 수 있습니다. 내 실수는 2000K를 썼다는 것입니다! 죄송합니다.
    이는 DEDE에서 하나의 페이징이 2M이 허용된다는 의미입니다! 당연히 실패함
    페이지 매기기 제목 정보
    콘텐츠 부분은 다음 형식일 수 있습니다.
    페이지 제목 1#e#
    페이지 1 콘텐츠
    #p#페이지 제목 2#e#
    2페이지 페이지 콘텐츠
    #p#페이지 제목 3#e#
    3페이지 콘텐츠
    #p#페이지 제목 4#e#
    4페이지 콘텐츠
    .
    .
    .
    .
    .
    .
    추가 옵션: 원격 이미지 및 리소스 다운로드를 끄는 방법은 무엇입니까? ? ?
    dede/article_add.php 및 article_edit.php에 있습니다(다른 모델인 경우 해당 추가 및 수정 파일을 찾으세요).
    추가 옵션:

    원격 이미지 및 리소스 다운로드
    값 변경 0이 됨 삭제 확인됨
    3.1B2///ChannelArtlist 및 arclist BUG 임시 솔루션
    모든 열 목록이 동일하고 ChannelArtlist 아래의 arclist 태그를 사용자 정의할 수 없는 문제 수정
    inc_arcpart_view.php 열기
    207행 찾기
    else $typeid = 0;
    삭제
    ------------------
    를 열고 include / inc/inc_fun_SpGetChannelList.php
    66행에서
    $ctag->GetAtt('innertext')
    를 찾아
    $ctag->GetInnerText()
    로 변경하세요.
    궁금한 점이 있으시면 그룹 가입도 가능합니다: 18176791
    하하 이렇게 보이신다면 진심으로 홈페이지 작업을 하고 계시다는 뜻입니다

    이상은 Power by Dedecms의 내용을 포함하여 Power by Dedecms의 일반적인 문제 수정 방법을 요약하여 소개한 것입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.