国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.8KB

  1. <?php if(!defined('DEDEINC')) exit('Request Error!');
  2. /**
  3. * 分类信息的地区与小分类搜索
  4. *
  5. * @version $Id: infoguide.lib.php 1 9:29 2010年7月6日Z tianya $
  6. * @package DedeCMS.Taglib
  7. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.com
  10. */
  11. /*>>dede>>
  12. <name>分类信息搜索</name>
  13. <type>全局标记</type>
  14. <for>V55,V56,V57</for>
  15. <description>分类信息的地区与小分类搜索</description>
  16. <demo>
  17. {dede:infoguide /}
  18. </demo>
  19. <attributes>
  20. </attributes>
  21. >>dede>>*/
  22. function lib_infoguide(&$ctag,&$refObj)
  23. {
  24. global $dsql,$nativeplace,$infotype,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;
  25. //属性处理
  26. //$attlist="row|12,titlelen|24";
  27. //FillAttsDefault($ctag->CAttribute->Items,$attlist);
  28. //extract($ctag->CAttribute->Items, EXTR_SKIP);
  29. $cmspath = ( (empty($cfg_cmspath) || preg_match('#[/$]#', $cfg_cmspath)) ? $cfg_cmspath.'/' : $cfg_cmspath );
  30. if(empty($refObj->Fields['typeid']))
  31. {
  32. $row = $dsql->GetOne("SELECT id FROM `#@__arctype` WHERE channeltype='-8' And reid = '0' ");
  33. $typeid = (is_array($row) ? $row['id'] : 0);
  34. if(empty($typeid))
  35. {
  36. return '请指定一个栏目类型为“分类信息”,否则无法使用这个搜索表单!';
  37. }
  38. }
  39. else
  40. {
  41. $typeid = $refObj->Fields['typeid'];
  42. }
  43. $innerText = trim($ctag->GetInnerText());
  44. if(empty($innerText)) $innerText = GetSysTemplets("info_guide.htm");
  45. $ctp = new DedeTagParse();
  46. $ctp->SetNameSpace('field','[',']');
  47. $ctp->LoadSource($innerText);
  48. $revalue = $seli = '';
  49. $fields = array('nativeplace'=>'','infotype'=>'','typeid'=>$typeid);
  50. if($hasSetEnumJs !='has' )
  51. {
  52. $revalue .= '<script language="javascript" type="text/javascript" src="'.$cfg_mainsite.$cmspath.'static/enums.js"></script>'."\r\n";
  53. $GLOBALS['hasSetEnumJs'] = 'hasset';
  54. }
  55. $fields['nativeplace'] = $fields['infotype'] = '';
  56. if(empty($nativeplace)) $nativeplace = 0;
  57. if(empty($infotype)) $infotype = 0;
  58. $fields['nativeplace'] .= "<input type='hidden' id='hidden_nativeplace' name='nativeplace' value='{$nativeplace}' />\r\n";
  59. $fields['nativeplace'] .= "<span class='infosearchtxt'>地区:</span><span id='span_nativeplace'></span>\r\n";
  60. $fields['nativeplace'] .= "<span id='span_nativeplace_son'></span>\r\n<span id='span_nativeplace_sec'></span><br />\r\n";
  61. $fields['nativeplace'] .= "<script language='javascript' type='text/javascript' src='{$cfg_mainsite}{$cmspath}data/enums/nativeplace.js'></script>\r\n";
  62. $fields['nativeplace'] .= '<script language="javascript">MakeTopSelect("nativeplace", '.$nativeplace.');</script>'."\r\n";
  63. $fields['infotype'] .= "<input type='hidden' id='hidden_infotype' name='infotype' value='{$infotype}' />\r\n";
  64. $fields['infotype'] .= "<span class='infosearchtxt'>类型:</span><span id='span_infotype'></span>\r\n";
  65. $fields['infotype'] .= "<span id='span_infotype_son'></span><span id='span_infotype_sec'></span><br />\r\n";
  66. $fields['infotype'] .= "<script language='javascript' type='text/javascript' src='{$cfg_mainsite}{$cmspath}data/enums/infotype.js'></script>\r\n";
  67. $fields['infotype'] .= '<script language="javascript">MakeTopSelect("infotype", '.$infotype.');</script>'."\r\n";
  68. if(is_array($ctp->CTags))
  69. {
  70. foreach($ctp->CTags as $tagid=>$ctag)
  71. {
  72. if(isset($fields[$ctag->GetName()])) {
  73. $ctp->Assign($tagid,$fields[$ctag->GetName()]);
  74. }
  75. }
  76. $revalue .= $ctp->GetResult();
  77. }
  78. return $revalue;
  79. }