国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

57 wiersze
2.1KB

  1. <?php
  2. if (!defined('DEDEINC')) exit('dedebiz');
  3. /**
  4. * 按排序位置的获取单个栏目的链接信息
  5. *
  6. * @version $Id: autochannel.lib.php 1 9:29 2010年7月6日Z tianya $
  7. * @package DedeBIZ.Taglib
  8. * @copyright Copyright (c) 2022, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license
  10. * @link https://www.dedebiz.com
  11. */
  12. function lib_autochannel(&$ctag, &$refObj)
  13. {
  14. global $dsql;
  15. $attlist = 'partsort|0,typeid=-1';
  16. FillAttsDefault($ctag->CAttribute->Items, $attlist);
  17. extract($ctag->CAttribute->Items, EXTR_SKIP);
  18. $innertext = trim($ctag->GetInnerText());
  19. $topid = $typeid;
  20. $sortid = $partsort;
  21. if ($topid == '-1' || $topid == '') {
  22. $topid = (isset($refObj->TypeLink->TypeInfos['id']) ? $refObj->TypeLink->TypeInfos['id'] : 0);
  23. }
  24. if (empty($sortid)) $sortid = 1;
  25. $getstart = $sortid - 1;
  26. $row = $dsql->GetOne("SELECT id,typename FROM `#@__arctype` WHERE reid='{$topid}' AND ispart<2 AND ishidden<>'1' ORDER BY sortrank asc limit $getstart,1");
  27. if (!is_array($row)) return '';
  28. else $typeid = $row['id'];
  29. if (trim($innertext) == '') $innertext = GetSysTemplets('part_autochannel.htm');
  30. $row = $dsql->GetOne("SELECT id,typedir,isdefault,defaultname,ispart,namerule2,typename,moresite,siteurl,sitepath
  31. FROM `#@__arctype` WHERE id='$typeid' ");
  32. if (!is_array($row)) return '';
  33. $dtp = new DedeTagParse();
  34. $dtp->SetNameSpace('field', '[', ']');
  35. $dtp->LoadSource($innertext);
  36. if (!is_array($dtp->CTags)) {
  37. unset($dtp);
  38. return '';
  39. } else {
  40. $row['typelink'] = GetTypeUrl(
  41. $row['id'],
  42. MfTypedir($row['typedir']),
  43. $row['isdefault'],
  44. $row['defaultname'],
  45. $row['ispart'],
  46. $row['namerule2'],
  47. $row['siteurl'],
  48. $row['sitepath']
  49. );
  50. foreach ($dtp->CTags as $tagid => $ctag) {
  51. if (isset($row[$ctag->GetName()])) $dtp->Assign($tagid, $row[$ctag->GetName()]);
  52. }
  53. $revalue = $dtp->GetResult();
  54. unset($dtp);
  55. return $revalue;
  56. }
  57. }