
ParadoX
Задача такая, чтобы в title div'a подставлялась языковая константа в зависимости от категории item'a.
Например, если $item['category_id'] = 2, то <div title="Категория 2">
Константы LANG_ITEM_CAT_1 — LANG_ITEM_CAT_9 определены в языковом файле. Итак, имеем код:
Что-то туплю не могу понять, почему в результате константа не подтягивается из языкового файла, а выдаёт <div title="LANG_ITEM_CAT_1"></div>. Прошу ткнуть носом, но не сильно)
Кто-нибудь задавался вопросом, как изменить формат даты в ссылке на материал? Если поставить поля, например, {title}-{date_pub}, то ссылка принимает вид /nazvanie-materiala-28-04-2017-17-15.html И всё было бы прекрасно, но дата без времени смотрелась бы лучше. В документации написано, что поле "дата" формируется вида, указанного в конфигурации сайта, но на ссылку видимо это не распространяется? В базе поле date_pub имеет вид 2017-02-08 22:09:04, но в ссылку попадает без секунд, значит и время целиком убрать удастся.
Подскажите пожалуйста, где исправить формирование ссылки, чтобы получилось /nazvanie-materiala-28-04-2017.html?
По началу я думал, что "ajax-modal" будет достаточно, но не тут-то было!Полагаю следующие вопросы будут "Как отменить редирект на профиль при отправке/удалении предложения дружбы?" и "Как сделать запрос отправки/удаления дружбы на AJAX?" laugh


Добрый день!
Продаю InstantMaps для InstantCMS 2.
Цена 1550р. Оформление за мой счет.
Забиваю! Пришлите реквизиты в личку.
В файле /system/controllers/users/frontend.php объявить переменные $is_friends_on, $is_own_profile, $is_friend_profile, $is_friend_req в функции renderProfilesList() и отправить их на рендеринг
Благодарю вас за наводку! Но нельзя ли по подробнее? Это поможет не только мне.
P.S. И интересно, я один подробно отвечаю на вопросы: "Вам нужно сделать то-то и то-то, делается это так-то и так-то"??
Вот озадачился добавить кнопки к пользователям прямо в списке пользователей (/templates/стиль/controllers/users/list.tpl.php). "Но как обычно что-то пошло не так..." ©
Вроде как всё правильно, но из всех условий выполняется только <?php if ($user->is_logged) { ?>. Подскажите пожалуйста, что нужно добавить, чтобы задумка заработала?

<?php if ($user->is_logged) { ?> <?php if ($is_friends_on && !$is_own_profile) { ?> <div class="ajax-modal"> <?php if ($is_friend_profile) { ?> <a href="/users/friend_delete/<?php echo $profile['id'] ?>" title="Удалить из друзей">Удалить из друзей</a> <?php } else if(!$is_friend_req) { ?> <a href="/users/friend_add/<?php echo $profile['id'] ?>" title="Добавить в друзья">Добавить в друзья</a> <?php } ?> </div> <?php } ?> <?php } ?>
Изволите говорить загадками вы?)
На этой странице есть разумный совет как решать подобные проблемы таким знатокам как мы с вами.
Попробуйте ещё и его.
Если вы про
<?php if ($fieldset['title'] || $fieldset['fields']){ ?>
Что я только не пробовал… Видимо ещё где-то алгоритм полей править надо, но не нашёл((Скорее всего я ошибаюсь.
Не знаю почему никто ещё не задался этим вопросом? Собственно проблема: как убрать пустые группы свойств?
Берём к примеру тип контента "Объявления" (board) и для него делаем нужные "свойства" (цвет, размер, вес и т.д.), а потом эти свойства для удобства группируем в группу (например, "Характеристики").
Создаём объявление, заполняем все свойства, сохраняем и видим красоту:
Характеристики:
Цвет: красный
Размер: 20*30см
Вес: 1кг
Супер! То что нужно. Кроме "Характеристик" можно наделать кучу групп свойств для удобства отображения.
Но стоит не заполнить ни одного свойства в группе на странице объявления мы видим:
Характеристики:И собственно всё. Название группы отображается вне зависимости, заполнили вы свойства или нет! Выглядит крайне некрасиво.
Вот код, отвечающий за вывод:
<?php $props_fields = $this->controller->getPropsFields($props); $props_fieldsets = cmsForm::mapFieldsToFieldsets($props); ?> <div class="content_item_props <?php echo $ctype['name']; ?>_item_props"> <table> <tbody> <?php foreach($props_fieldsets as $fieldset){ ?> <?php if ($fieldset['title']){ ?> <tr> <td class="heading" colspan="2"><?php html($fieldset['title']); ?></td> </tr> <?php } ?> <?php if ($fieldset['fields']){ ?> <?php foreach($fieldset['fields'] as $prop){ ?> <?php $prop_field = $props_fields[$prop['id']]; ?> <tr> <td class="title"><div><?php html($prop['title']); ?><div></td> <td class="value"> <?php echo $prop_field->setItem($item)->parse($props_values[$prop['id']]); ?> </td> </tr> <?php } ?> <?php } ?> <?php } ?> <?php } ?> </tbody> </table> </div> <?php } ?>
<?php if ($fieldset['title']){ ?> <tr> <td class="heading" colspan="2"><?php html($fieldset['title']); ?></td> </tr> <?php } ?>
Пригодится кому-нибудь.
Очередность вывода задается в файле system/controllers/content/frontend.php
Строчки примерно 467 (поиск по if ($ctype['props']){ )
Вот эту группу строк нужно переместить примерно на строчку 532 (перед словами
// Если ручной ввод SLUG, то добавляем поле для этого
if (!$ctype['is_auto_url']){
)
Благодарю, пригодилось! Но можно ли это как-то "закрепить" в своём шаблоне, чтобы снова не править после обновления?
1. вывести только ссылку <?php echo html_image_src($profile['background'], 'размер пресета (small, normal и т.д.)'); ?> Этот код я использовал в таком примере:
<?php if (!empty($profile['background'])){ ?>style="background-image: url('/upload/<?php echo html_image_src($profile['background'], 'top_background'); ?>')"<?php } ?>>
Странно, почему "знатокам" было тяжело ответить…