1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ichynul-vowstag

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

1.1 Список — не разбивается на страницы:

{#list = article? classid=url.id &orderby=istop,time &desc=true &take=10 & skip =3 }
    <a href='read.aspx?id={#item.id}'>{#item.title}</a> 
    <span>Время публикации: {#TimeFormat(item.DTime,"MM месяц dd день")}</span>
    <p>{# SubString(item.desc,50)}</p>
{#list}

1.2 Список — разбивается на страницы:

{#list = article? classid >3 &id<1000 &orderby=tiem &desc=true &pzgesize=10 
<!--# 分页时需要'pagesize'参数,不分页就用'take'这是注释,解析是略过-->}
    <img src='{#item.logo}'/>
    <a href='read.aspx?id={#item.id}'>{#item.title}</a>
{#list}
{#pager?type=cs}<!--разбивка на страницы-->

1.3 Строка содержит (поиск):

{#list= article ? title % request.kwd &take=10 &item=search &emptytext=Временно нет соответствующих записей /}
<!--item参数引入另外的一个单独的文作为样式:(item/search.html),以 /} 结尾-->
<!--%代表包含,不包含则为!%。-->
<!--request.xxx表示url中的参数xxx的值,类似的session.xxx、cookie.xxx、cookie.xx.yy分别为取session或cookie值-->
<!--request.xxx、req.xxx、url.xxx 三者等同-->
<!--emptytext=msg 指定记录为空时的简单提示信息,不能包含html-->

1.4 Список: содержится в:

{#list= article ? id # [1,3,5,7,9,11] &title !# [hello,nihao] &item=newslist &skip=4 &take=10 /}
<!--#代表被包含于,后面接一个[]包围的数组,不被包含于则为!#。-->
<!--skip=4 跳过前4条-->

1.5 Сложная логика поддерживается:

{#list= article ? classid >3 & ( none = req.id | id= req.id ) &item=newslist &skip=4 &take=10 /}
<!--Если url 中 参数 id не пустой 则筛选id为url值的,否则不限-->

2.1 Содержание — ограничено диапазоном:

{#read = article ? id=req.id /} <!--全局read以 /} 结尾 ,每个页面最多只能有一个全局read-->
    <h3>{#read.title}</h3> <!--{read.xxx}代表某个字段'xxx'-->
    <div>{#read.content}</div>
    {#click(“article”,10) }<!--последующий метод, счётчик кликов-->
{#read}

{#read.content} <!--превышает диапазон действия-->

2.2 Содержание — глобальное:

<span>{#read.title}</span> <!--глобальный, значение поля можно использовать в любом месте, даже перед reqd 标签, обычно используется в заголовке страницы-->
{#read = article? id = request.id /} <!--чтение статьи, указанной в url параметре, этот ярлык является глобальным, заканчивается /}, на каждой странице может быть только один глобальный read-->
{#click(«article»,request.id) }<!--метод после, подсчёт кликов-->
<h3>{#read.title}</h3> <!--значение поля, можно записать в любом положении-->
<div><span>Автор:{reqd.author}</span><span>Дата:{reqd.date}</span><span>Клик:{reqd.view}</span></div>
<div>{#read.content}</div>

3.1 Асинхронный JSON:

<!--json标签需在js脚本中使用-->
<script>
    var jsonname="{# json=article ? classid=call.type & title % request.kwd  &orderby=tiem &desc=true &pagesize=10 &fields=id,title,author,date,view /}"; 
    //чтение рубрики с номером типа ,название содержит параметры url kwd статьи, отсортированные по времени в обратном порядке ,fields параметр ограничивает возвращаемые поля, несколько разделенных, без возврата всех с собой
    //json похож на list, за исключением того, что есть fields параметр, кроме того, json нельзя использовать take параметр
    var page = 1, pagesize;
    var pages, listsize=9999999;
    var type = 0;
    var over = false;
    function loadMore() {
        _tagcall.json(jsonname, "page=" + page + '&type=' + 3 ); //'type=3 => call.type'
    }
    
    //метка обратного вызова запроса успешно обработана
    function CallbackSuccess(resultstr) {
            var obj = eval('(' + resultstr + ')');
            if (obj.type) {
                if (obj.type == "jsoncall") {//возвращение запроса метки json
                    if (obj.result && obj.result.data) {
                        over = obj.result.over;
                        page = obj.result.page;
                        listsize = obj.result.listsize;
                        pagesize = obj.result.pagesize;
                        paging();
                        if (obj.result.data.length > 0) {
                            //обработка массива данных json
                        }
                        else {
                            if (obj.result.page == 1) {
                                alert('временно нет записей');
                            }
                            else {
                                alert('больше нет');
                            }
                        }
                    }
                }
                else if (obj.type == "mycall") {
                }
                else {
                    alert(resultstr);
                }
            }
            else {
                alert(resultstr);
            }
        }
</script>

Ключевые слова тегов:

  • skip — число, пропускает первые несколько записей данных;
  • take — число, получает первые несколько записей (только список);
  • item — строка, указывает внешний стиль (только список);
  • desc true/false — сортировка в обратном порядке, по умолчанию true;
  • orderby — строка, поле сортировки, несколько полей разделяются запятыми;
  • pageszie — число, размер страницы;
  • emptytext — строка, данные пусты, простое сообщение подсказки (только список);
  • fields — строка, определяет поля для возврата (только JSON).

(null, empty, none) используются для определения существования, пустоты или одного из двух параметров URL-адреса. Промежуточная страница

  • nextprev_show true/false: показывать предыдущую и следующую страницы, по умолчанию true.
  • always_show true/false: всегда ли показывать разбиение на страницы, по умолчанию false — то есть не показывать разбиение, если только одна страница.

Элементы HTML

  • По умолчанию div.
  • Идентификатор элемента id по умолчанию pager.
  • Класс элемента class по умолчанию mypager.

10.3 Команды (cmd)

  • callback: включить поддержку сценария calbackjs на странице. Поддержка включается автоматически, когда на странице есть теги json или form.
  • validaterequest: параметры заголовка страницы pgae по умолчанию равны true.
  • enableviewstate: параметры заголовка страницы pgae по умолчанию равны false.
  • using: ссылка на пространство имён, несколько ссылок разделяются запятой.

10.4 Специальные ключевые слова

request.xxx, req.xxx, url.xxx — три эквивалентных обозначения параметров в URL-ссылке, например, url.id ===> somepage.aspx?id=3.

session.xxx, cookie.xxx, cookie.xx.yy — значения переменных сеанса или cookie соответственно.

Эти параметры можно использовать внутри тегов запроса или выводить как текст; например:

标签查询 {#list=article?id》url.id &classid=session.cid... /}  
<span>{#cookie.uid}</span>
<script>
    var id='{#url.id}'; 
    alert(id); 
</script>

{#pgae} — текущая страница.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Генерация кода на основе EntityFramework. Достаточно знать структуру таблицы, чтобы получить данные через теги, базовое написание кода для серверной части не требуется. Устраняет недостатки собственной системы тегов разных CMS. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ichynul-vowstag.git
git@api.gitlife.ru:oschina-mirror/ichynul-vowstag.git
oschina-mirror
ichynul-vowstag
ichynul-vowstag
master