Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Добавить разделы описания файлов

Супер пользователь
Сообщений: 19
Подскажите Пожалусто как добавить параметры описания файла в архиве загрузок. Где добавить нашел сразу, но как грамотно это здесь сделать не знаю. Открываю:
module/download_full.html и module/download.html
например один из параметров -
<td width="25%">Версия файла:</td>
<td>{dl.version}</td>
Добавляю свой,он появляется верней одно название да и то в пользовательской части, видимо переменную не так как то пишу она тоже вместе с названием отображается - <td>{dl.version}</td>. И в административной части добавления файла добавленного поля нет.Как грамотно добавлять,изменять,удалять эти параметры загружаемого файла?

С Уважением, Анатолий
Супер пользователь
Сообщений: 50
module/download_full.html и module/download.html
это файлы шаблонов.
Если Вам нужно вывести новый параметр (не поставляемый в стандартной комплектации ) то Ваша последовательность действий следующая:
  • добавляете новое поле в таблицу соответствующего типа (Админ-панель Управление БД Список таблиц downloads)
  • в файте \modules\downloads\admin.php прописываете отображение (и сохранение) в админ панели модуля загрузок
  • в \modules\downloads\index.php прописывате запрос поля
  • и вот только тогда в файлах шаблона \templates\[ваша тема]\module\download_full.html и module\ownload.html прописываете отображение
  • Супер пользователь
    Сообщений: 19
    Понятно.СПАСИБО!!!
    Супер пользователь
    Сообщений: 19
    А как задать параметрам следующее: если какие то из параметров не заполнены, напр-автор,сайт и т.д.,что бы в этом случае незаполненные параметры вообще не выводились на странице описания файла???
    Разработчик
    Сообщений: 605
    Дополню ответ gadget. Добавляется колонка или столбец в таблицу. Поле - это просто ячейка в таблице, это конкретная запись. Но нам нужно выделить столбец под эти ячейки. Конкретно здесь в index.php не нужно делать дополнительных запросов. У вас выборка данных о файле заведомо есть. В ней только появится ваше добавленное поле, которое нужно пробросить в шаблон. То есть передать вместе с остальной информацией, которая будет доступна в шаблоне, и ваше новое поле.

    И самое важное: будьте очень аккуратны при изменении структуры существующих таблиц. С ней порой может работать очень много кода и можно напороться на неприятности. Самая главная из них - это при вставке новых записей. Добавили/удалили колонку и не проверили все запросы на вставку? Будет ошибка, так как число вставляемых элементов не будет равно числу столбцов. Углубляться долго, но с другими операциями намного легче. Так что следует проверять после этого места, где происходит работа с таблицей.

    Можно скрытие сделать как в коде, так и в шаблоне.

    Вариант с кодом будет выглядеть примерно так:
    $value = $row['item'];
    if($row == '') {
    $vars['variable'] = 'Нет данных'; // или пустую строку сделайте
    } else {
    $vars['variable'] = $value;
    }


    Можно использовать и тернарный оператор. Нафантазировать многое можно вообще.

    В шаблонизаторе можно использовать условия. Пример, приведенный выше, можно написать так так:
    {block:variable}
    {block.variable}
    {/block:variable}
    {!block:variable}
    Нет данных
    {/block:variable}


    Единственное отличие в том, что условием здесь является не $row == '', а $row == true. Раз у нас пустая строка, то при не строкой проверке она приведется к false. Можно даже наше логическое выражение опустить до просто $row. Оно в любом случае будет приводиться в логическому типу, а проверка на то, является ли результат выражения правдой излишне.
    Супер пользователь
    Сообщений: 19
    Спасибо за такое подробное описание!!!Буду пробовать
    Супер пользователь
    Сообщений: 19
    Ни чего не выходит(((, это я про не вывод не заполненных параметров описания файла(автор,email и т.д.), добавлять изменять поля получается, а вот сделать так что бы не заполненные поля не выводились не выходит.может не там и не то прописываю
    Насколько я понял здесь Вы как раз про это и вели речь
    Мартин:


    Можно скрытие сделать как в коде, так и в шаблоне.

    Вариант с кодом будет выглядеть примерно так:
    $value = $row['item'];
    if($row == '') {
    $vars['variable'] = 'Нет данных'; // или пустую строку сделайте
    } else {
    $vars['variable'] = $value;
    }


    Можно использовать и тернарный оператор. Нафантазировать многое можно вообще.

    В шаблонизаторе можно использовать условия. Пример, приведенный выше, можно написать так так:
    {block:variable}
    {block.variable}
    {/block:variable}
    {!block:variable}
    Нет данных
    {/block:variable}


    Единственное отличие в том, что условием здесь является не $row == '', а $row == true. Раз у нас пустая строка, то при не строкой проверке она приведется к false. Можно даже наше логическое выражение опустить до просто $row. Оно в любом случае будет приводиться в логическому типу, а проверка на то, является ли результат выражения правдой излишне.


    Очень неловко после такого подробного описания что либо уточнять, но все же, может подскажете как "первокласснику"),куда конкретно и что вставить, а то я уже куда только не вставлял эти строки)))
    Спасибо за понимание!!!
    Разработчик
    Сообщений: 605
    Вы хоть свои действия распишите, покажите код. Откуда я могу знать, что вы пытались там делать.

    Вот пример шаблона для файлов, где убирается поле email, если оно не заполнено (в оригинале там уже убиралась ссылка, я всего лишь переместил теги, чтобы убиралось все вместе с ячейками): http://pastebin.com/mAqTmAKQ
    Супер пользователь
    Сообщений: 50
    www\templates\default\module\download_full.html

    <tr align="left">
    {dl:author}
    <th width="25%">Автор:</th>
    <td width="25%">{dl.author}</td>
    {/dl:author}
    {dl:mail}
    <th>E-mail автора:</th>
    <td>{dl:mail}<a href="mailto:{dl.mail}" title="{dl.mail}">{dl.mail}</a>{/dl:mail}</td>
    {/dl:mail}
    </tr>

    Надеюсь дальше разберётесь? Единственное учитывайте что данная информация выводится в виде таблицы
    Разработчик
    Сообщений: 605
    gadget:
    Единственное учитывайте что данная информация выводится в виде таблицы

    Это можно и переверстать если что.
    Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
    Здесь присутствуют
    (пользователей: 0, гостей: 1)
    Быстрый переход: