コード例 #1
0
		static void RegisterTemplate(string siteId, string templateName)
		{
			BXTemplateConditionCollection conditions = BXTemplateCondition.GetList(
				new BXFilter(new BXFilterItem(BXTemplateCondition.Fields.SiteId, BXSqlFilterOperators.Equal, siteId)),
				new BXOrderBy(new BXOrderByPair(BXTemplateCondition.Fields.Sort, BXOrderByDirection.Asc))
			);
			if (conditions.Count > 0 && conditions[0].ConditionType == 0)
			{
				conditions[0].Template = templateName;
				conditions[0].Save();
			}
			else
			{
				BXTemplateCondition c = new BXTemplateCondition();
				c.Template = templateName;
				c.SiteId = siteId;
				c.ConditionType = 0;
				c.Condition = "";
				c.Sort = 10;
				c.Save();

				int i = 10;
				foreach(BXTemplateCondition t in conditions)
				{
					c.Sort = (i += 10);
					c.Save();
				}
			}
		}
コード例 #2
0
ファイル: SiteEdit.aspx.cs プロジェクト: mrscylla/volotour.ru
    private void CreateConditionCell(int rowIndex, BXTemplateCondition condition, HtmlTableCell cell)
    {
        string strCondition = string.IsNullOrEmpty(condition.Condition) ? "" : condition.Condition;
        //FileOrFolder
        bool controlExist = false;
        TextBox txt = new TextBox();
		Control group = LoadControl("~/bitrix/admin/controls/Main/rolelist.ascx");
		Control url = LoadControl("~/bitrix/controls/Main/urlparameter.ascx");
		Control time = LoadControl("~/bitrix/controls/Main/TimeInterval.ascx");
        if (cell.Controls.Count == 4)
        {
            controlExist = true;
            txt = cell.Controls[0] as TextBox;
            group = cell.Controls[1];
            url = cell.Controls[2];
            time = cell.Controls[3];

        }
        txt.Width = new Unit("100%");
        txt.ID = string.Format("row_{0}_textbox", rowIndex);
        txt.Visible = (condition.ConditionType == (int)ConditionType.FileOrFolder);
        if (txt.Visible)
            txt.Text = strCondition;


        //Group
        group.ID = string.Format("row_{0}_rolelist", rowIndex);
        group.Visible = (condition.ConditionType == (int)ConditionType.Group);
        if (condition.ConditionType == (int)ConditionType.Group)
        {
            IRoleList rl = group as IRoleList;
            rl.SelectedRoles = BXStringUtility.StringToList(strCondition);
        }


        //Url
        url.ID = string.Format("row_{0}_urlparameter", rowIndex);
        url.Visible = (condition.ConditionType == (int)ConditionType.Url);
        if (url.Visible)
        {
            IUrlParameter up = url as IUrlParameter;
            up.ParameterName = BXStringUtility.StringToParam(strCondition)[0];
            up.ParameterValue = BXStringUtility.StringToParam(strCondition)[1];
        }


        //Time
        time.ID = string.Format("row_{0}_TimeInterval", rowIndex);
        time.Visible = (condition.ConditionType == (int)ConditionType.Time);
        if (time.Visible)
        {
            ITimeInterval ti = time as ITimeInterval;
            ti.StartDate = BXStringUtility.StringToTimeInterval(strCondition)[0];
            ti.EndDate = BXStringUtility.StringToTimeInterval(strCondition)[1];
        }
        if (!controlExist)
        {
            cell.Controls.Add(txt);
            cell.Controls.Add(group);
            cell.Controls.Add(url);
            cell.Controls.Add(time);
        }
    }