0

Шаблон полного отображения в списке объектов NetCat CMS

При работе с системой управления контентом NetCat CMS может возникнуть потребность вывести данные полного отображения объекта, используя функцию nc_objects_list(), она же s_list_class(). Изначально функция расчитана на вывод информации списка, а не отдельного объекта.

Решение, в данном случае, очень простое — в компоненте, в поле «Объект в списке» нужно вписать код:

<? /* данные из полного отображения объекта */ ?>
<? include_once (
    $nc_core->CLASS_TEMPLATE_FOLDER
    . $cc_env['Class_ID']
    . ($cc_env['Class_Template_ID'] ? "/" . $cc_env['Class_Template_ID'] : "")
    . "/RecordTemplateFull.html"
); ?>

В результате, вместо отображения объекта из списка, будет выведено содержимое поля полного отображения объекта.

Такой же подход может быть полезен при желании использовать одинаковый шаблон при выводе объекта списка и полного отображения объекта.

2

AJAX-авторизация в CMS NetCat

AJAX-авторизация в CMS NetCatПопулярная отечественная CMS NetCat имеет в своём составе модуль «Личный кабинет», который, помимо прочего, позволяет организовать регистрацию и авторизацию пользователей на сайте. Авторизация нас как раз и интересует, а именно организация ajax-авторизации, без назойливой перезагрузки страницы, которая инициируется отправкой формы с данными.

Готового решения для этого у системы управления контентом NetCat пока ещё нет, но его можно легко реализовать стандартными средствами. Ниже представлена инструкция по шагам.

1. Макет дизайна и форма авторизации

На этом шаге нам нужно расширить стандартную форму авторизации. Форма может находится в настройках модуля «Личный кабинет» — «Форма авторизации», а может быть выведена непосредственно в макете дизайна. Рассмотрим ситуацию, когда форма выведена в макете.

Continue Reading

0

Модификация previous_post_link() и next_post_link() в WordPress

Владельцам и администраторам блогов на WordPress часто требуется изменить отображение ссылок на предыдущий и последующий посты. По сути, следует модифицировать результат отображения функций previous_post_link() и next_post_link().

Для начала напишем функцию-пример, которая модифицирует один единственный входной аргумент — HTML код ссылки. Для примера добавим CSS класс и сократим текст ссылки, если он превышает заданную длину:

/**
 * Modify function
 *
 * @param string HTML link
 */
function modify_post_link ($link) {
    // добавим CSS класс
    $link = str_replace('&lt;a ', '&lt;a class="nav-link" ', $link);
  
    // максимальное количество символов
    $max = 50;
  
    // выделим текст ссылки
    preg_match('/&lt;a.*?&gt;(.*?)&lt;\/a&gt;/uis', $link, $matches);
  
    // находим вхождение внутри тега ссылки — текст
    $title = $matches[1];
  
    // сократим, если длина больше указанной
    $new_title = mb_strlen($title) >= $max ? mb_substr($title, 0, $max - 3).'...' : $title;
  
    // возвращаем модифицированный HTML код ссылки
    return str_replace('&gt;'.$title.'&lt;', '&gt;'.$new_title.'&lt;', $link);
}

Continue Reading