요 며칠 친구의 쇼핑몰 구축을 도와줬어요. ECSHOP의 기능은 정말 강력하다고 느꼈지만, 프로그램을 이해하지 못하는 사람들에게는 여전히 복잡합니다. 약간의 수정을 가하기에는 많은 수고가 필요하지만 Dongyi와 같은 태그 라이브러리를 제작할 수 있다면 좋을 것 같습니다.
예를 들어 딥블루를 사용할 때 카테고리별로 기사를 불러야 하는 경우가 있는데, 굉장히 흔한 기능인데 공식에서 제공하지 않는 방식이라 혼자 고민하다가 결국 방법을 찾았습니다. 구체적인 구현 방법은 ECSHOP 튜토리얼
을 참조하세요.
예를 들어 홈 페이지 호출 방법:
1. 먼저 index.php 파일을 열고 다음 코드를 찾습니다.
$smarty->assign(<span>'</span><span>new_articles</span><span>'</span>, index_get_new_articles()); <span>//</span><span> 最新文章</span>
아래에 다음을 추가하세요.
<span>//</span><span>调用方法</span><span>$smarty</span>->assign(<span>'</span><span>class_articles_4</span><span>'</span>, index_get_class_articles(<span>4</span>,<span>6</span>)); <span>//</span><span> 分类调用文章 </span><span>//</span><span>调用多个就修改传进去的参数,以及模板接收的变量,其中上面的4就是文章分类ID,其中6是调用数量</span>$smarty->assign(<span>'</span><span>class_articles_5</span><span>'</span>, index_get_class_articles(<span>5</span>,<span>6</span>)); <span>//</span><span> 分类调用文章</span>$smarty->assign(<span>'</span><span>class_articles_6</span><span>'</span>, index_get_class_articles(<span>6</span>,<span>6</span>)); <span>//</span><span> 分类调用文章</span>$smarty->assign(<span>'</span><span>class_articles_7</span><span>'</span>, index_get_class_articles(<span>7</span>,<span>6</span>)); <span>//</span><span> 分类调用文章</span>$smarty->assign(<span>'</span><span>class_articles_8</span><span>'</span>, index_get_class_articles(<span>8</span>,<span>6</span>)); <span>//</span><span> 分类调用文章</span>
<span>//</span><span>在最后?>这个之前增加以下函数</span><span> function index_get_class_articles($cat_aid, $cat_num) { $sql </span>= <span>"</span><span>SELECT article_id, title,open_type,cat_id,file_url FROM </span><span>"</span> .$GLOBALS[<span>'</span><span>ecs</span><span>'</span>]->table(<span>'</span><span>article</span><span>'</span>). <span>"</span><span> WHERE cat_id = </span><span>"</span>.$cat_aid.<span>"</span><span> and is_open = 1 LIMIT </span><span>"</span><span> . $cat_num; $res </span>= $GLOBALS[<span>'</span><span>db</span><span>'</span>]-><span>getAll($sql); $arr </span>=<span> array(); </span><span>foreach</span> ($res AS $idx =><span> $row) { $arr[$idx][</span><span>'</span><span>id</span><span>'</span>] = $row[<span>'</span><span>article_id</span><span>'</span><span>]; $arr[$idx][</span><span>'</span><span>title</span><span>'</span>] = $row[<span>'</span><span>title</span><span>'</span><span>]; $arr[$idx][</span><span>'</span><span>short_title</span><span>'</span>] = $GLOBALS[<span>'</span><span>_CFG</span><span>'</span>][<span>'</span><span>article_title_length</span><span>'</span>] > <span>0</span> ?<span> sub_str($row[</span><span>'</span><span>title</span><span>'</span>], $GLOBALS[<span>'</span><span>_CFG</span><span>'</span>][<span>'</span><span>article_title_length</span><span>'</span>]) : $row[<span>'</span><span>title</span><span>'</span><span>]; $arr[$idx][</span><span>'</span><span>cat_name</span><span>'</span>] = $row[<span>'</span><span>cat_name</span><span>'</span><span>]; $arr[$idx][</span><span>'</span><span>add_time</span><span>'</span>] = local_date($GLOBALS[<span>'</span><span>_CFG</span><span>'</span>][<span>'</span><span>date_format</span><span>'</span>], $row[<span>'</span><span>add_time</span><span>'</span><span>]); $arr[$idx][</span><span>'</span><span>url</span><span>'</span>] = $row[<span>'</span><span>open_type</span><span>'</span>] != <span>1</span> ?<span> build_uri(</span><span>'</span><span>article</span><span>'</span>, array(<span>'</span><span>aid</span><span>'</span> => $row[<span>'</span><span>article_id</span><span>'</span>]), $row[<span>'</span><span>title</span><span>'</span>]) : trim($row[<span>'</span><span>file_url</span><span>'</span><span>]); $arr[$idx][</span><span>'</span><span>cat_url</span><span>'</span>] = build_uri(<span>'</span><span>article_cat</span><span>'</span>, array(<span>'</span><span>acid</span><span>'</span> => $row[<span>'</span><span>cat_id</span><span>'</span><span>])); } </span><span>return</span><span> $arr; }</span>
2. 두 번째 단계는 index.dwt 템플릿에서 호출하는 것입니다. 다음 코드를 해당 위치에 추가합니다. (참고: 위 설정에서 카테고리 ID 8인 기사 목록을 조정하세요.):
<!--{<span>foreach</span><span>from</span>=$class_articles_8 item=article}--> <li><a href=<span>"</span><span>{$article.url}</span><span>"</span> title=<span>"</span><span>{$article.title|escape:html}</span><span>"</span>><!--{$article.short_title|truncate:<span>15</span>:<span>true</span>}--></a></li> <!--{/<span>foreach</span>}-->
위 방법으로 호출이 성공했습니다.
위 내용은 ECSHOP 튜토리얼 호출 분류 글과 관련 내용을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.