Вход • Регистрация

Всего найдено: 1395

  • 11 февраля 2016 г.
  • Цитата
    Dmitry (Zdravyi-Smysl) Сегодня, 05:35
    Прочитайте сначала вопрос
    Дмитрий, вы повторяетесь. Так зрители заскучают. Судя по вашей ленте, вы снимаетесь только в сериалах про шаблоны. Радоваться должны новым сообщениям в своей любимой теме, а вы ворчите.

  • 15 февраля 2016 г. , редакция: 1455554111
  • Цитата
    Евгений (mbytez) Сегодня, 09:07, редакция Сегодня, 09:09
    Павел, не включайте ленточный "писькОметр" сообщений, да, у него их в 9 раз меньше
    И в мыслях не было. Кол-во и 1-го и 2-го и 3-его не подходят для этого, т.к. не являются качественными характеристиками. Это же не рейтинг / количество работ / выполненных проектов. Да и последними тремя "мериться" тоже сомнительное удовольствие.
    Цитата
    Dmitry (Zdravyi-Smysl) Сегодня, 13:12
    Я не хочу быть клоуном, как вы... вернее даже больше троллем
    Дмитрий, вы сами утверждаете, что я вас "троллю". Смеются как раз над тем, кого "троллят", а не над тем, кто. "Клоун" и "тролль" - антиподы. Так что определитесь хотя бы с терминами - кем вы хотите быть, а кем не хотите.
    Цитата
    Dmitry (Zdravyi-Smysl) Сегодня, 13:12
    ибо сообщения ваши павел носят отвратительный характер.
    Я бы перефразировал - отвратительно-уточняющий. Вы с коллегами уже не первую портянку изводите с требованием убрать все баги, вернуть всем деньги и т.п.. При этом ничего конкретного так никто и не предоставил. Уже в 3-ий раз цитирую:
    Цитата
    Виталий (DIAFAN.CMS) Модератор Сегодня, 10:25
    Давайте в этой теме говорить предметно, в диалоге с разработчиком, который "объявился"
    Цитата
    Александр Биг Эпл (ba5) Сегодня, 10:27
    Ребят. Выкладывайте сюда в эту тему, что необходимо поправить. мы поправим.
    По-моему, я единственный в этой теме (и в соседней), кто нормально хоть что-то запостил (хотя мне не надо, я не покупал). И о чудо! - ошибки исправились. Отвратительной является ситуация, которую развели.

    Сначала требования, потом обвинения, потом скатились и вовсе до оскорблений и мата. Конкретики при этом кот наплакал. По итогам прений сторон ситуация оказалась не столь однозначной, как она показалась лично мне изначально.
  • 30 января 2016 г. , редакция: 1454167353
  • Владимир, проверьте на всякий случай данную ошибку, смотрите в консоли браузера логи JS. Если подтвердится - пишите там в комментариях, что у вас аналогичная ситуация (Дмитрий там уже отметился, вы тоже, но не по теме ). Пока по ответам Виталия я понял, что ошибка не признана критичной и вылавливать её пока не собираются.
  • 31 января 2016 г. , редакция: 1454192223
  • Я переживаю за то, что этот полтергейст вылезет потом, спустя десяток версий в самый неподходящий момент. Вот пример в тему:


    Впервые я этот баг словил на 5.2. Я писал о нём, но ситуация была как сейчас с сортировкой. Вот на 5.4.10 опять повстречались. Условия разработки совершенно разные. А на 5.4.13.4 его опять нет.
  • 31 января 2016 г. , редакция: 1454256588
  • Цитата
    Виталий (DIAFAN.CMS) Модератор Сегодня, 16:06
    Это, кстати, вообще что? Это не наш интерфейс в целом. Вкладки похожи на 5.4, и только
    Строк 10 в CSS, и в файле вьюхи адмики и всё, это не наш интерфейс. Ваш-ваш, Виталий, не сомневайтесь. Вы же по jpg-ам исходный код не читаете. JS, который глючит, я не трогал, кстати. И связанные с ним элементы - тоже. А изменения я вношу потому что по-умолчанию из коробки на версиях до 6-ой было так, как слева:


    Клиент же меня спросит после сдачи проекта: "Чего ты тут наверстал? У тебя руки из низа спины что ли растут?".
  • 31 января 2016 г. , редакция: 1454260635
  • Цитата
    Виталий (DIAFAN.CMS) Модератор 36 минут назад
    Это уже давно забытая 5.4.
    Я так быстро старых друзей не забываю
    Цитата
    Виталий (DIAFAN.CMS) Модератор 36 минут назад
    В 6.0 же нет таких косяков?
    таких нет, но мы выше про "плавающие" косяки с JS говорили, а JS вы вроде как не трогали, в сортировке по крайней мере.
  • 12 января 2020 г. , редакция: 1578851243
  • Я думаю, многие пользуются выводом переменных и массивов через функции print_r() и var_dump() для просмотра их содержимого при разработке. Новичкам смотреть (знать/помнить/понимать) содержимое того же $result будет очень полезно хотя бы для понимания организации данных внутри модулей.

    ВАЖНОЕ УТОЧНЕНИЕ
    Смотреть и изучать можно много чего, например, вместо $result указать в параметрах $this->diafan и множество других переменных, упоминаемых в документации. Иногда очень выручает.

    Существенный минус - переменная может быть внутри цикла foreach и доступна для вывода только внутри него. А вывод может производиться в произвольном месте вёрстки, например, внутри карточки товара. Смотреть его там не шибко удобно.





    Поэтому я написал небольшую функцию, призванную облегчить этот процесс.

    Функция будет полезна при разработке сайта и при изучении CMS. По окончании разработки (перед сдачей проекта) функцию и её вызовы рекомендую удалить.

    Код функции я добавил при помощи частичной кастомизации к общим функциям файла includes/core.php. Статью, в которой подробно рассматривается этот процесс, найдёте в документации Diafan.

    В статье по ссылке выше говорится о файле /includes/core.custom.php, но не упоминается про то, что файл должен располагаться в папке темы (custom/my_theme/includes/core.custom.php).

    Об этом написано в статье про кастомизацию:
    Цитата
    Класс для внедрения пользовательских разработок – Custom – определен в файле includes/custom.php.
    Этот класс позволяет подключить файл из текущей темы, если он там есть. Кроме того, класс обеспечивает частичную кастомизацию, которая позволяет веб-мастеру выносить свои доработки из файла, который он изменяет.
    Поэтому для работы функции надо создать тему вручную. Инструкцию по установке смотрите на странице дополнения во вкладке "Установка".



    Использование кастомизации позволит избежать проблем при обновлении CMS.

    ВЫЗОВ ФУНКЦИИ

    Функция вызывается в любом месте (но лучше в начале) "вьюшки" модуля (файлы папок "views" модулей) и выводит данные, доступные непосредственно в этом шаблоне, а также адрес самого шаблона.



    Код
    <?php
    // Вызов функции pre_mod();
    if( method_exists($this->diafan, 'pre_mod') ){
    $this->diafan->pre_mod($result, __FILE__, 0, 450, 19.3);
    }

    /**
    * Шаблон кнопки «Купить», в котором характеристики, влияющие на цену выводятся в виде выпадающего списка
    *
    * @package DIAFAN.CMS


    • Расшифровка $this->diafan->pre_mod($var_show, $path, $print_var, $height, $setka, $listen);
    • $var_show данные для вывода
    • $path адрес файла в котором осуществляется вызов функции
    • $print_var способ вывода vd() или print_r(). Значение 0 или 1 соответственно
    • $height высота блока вывода
    • $setka расстояние между вертикальными линиями фона (помогает отслеживать вложенность при прокрутке)
    • $listen - опрос блоков с отложенной загрузкой в секундах

    Блок фиксированный, скроллится, стандартный браузерный поиск (Ctrl+F) без проблем ищет внутри блока, если передать ему фокус. Выглядит это следующим образом:



    Вертикальная разметка (серые линии) позволяет при скролле данных отслеживать вложенность массивов.

    Версия от 12.01.2020


    Для того, чтобы отключить функцию, достаточно снять галку "применить" с темы в разделе "Темы и дизайн".

    БУДЬТЕ ВНИМАТЕЛЬНЫ !

    Вызывайте функцию через условие:
    Код
    if( method_exists($this->diafan, 'pre_mod') ){
    $this->diafan->pre_mod($result, __FILE__, 0, 450, 19.3);
    }

    Это позволит даже при отключённом дополнении избежать ошибок. Если вызвать функцию без условия и отключить впоследствии дополнение, то при обращении к нему будет ошибка:



    ДОПОЛНЕНО (17.01.2017):
    1. Добавлена возможность переключать вывод шаблонов, если функция на странице вызвана более одного раза (из нескольких шаблонов).
    2. Добавлена возможность сворачивать/разворачивать блок.
    3. Скорректировано положение панели редактирования CMS в нижнем положении с учётом вывода блоков с кодом.
    4. Добавлено условие для вывода блоков только администраторам.

    ДОПОЛНЕНО (16.01.2018):
    1. Изменено оформление с учётом того, что блоки выводятся в любой части страницы и ранее могли наследовать стили сайта из-за чего оформление блока могло меняться.
    2. Доработан внешний вид счётчика выводимых блоков и исправлена ошибка из-за которой при количестве блоков более двух они не переключались далее второго.
    3. Скорректировано положение и оформление панели редактирования CMS в нижнем положении с учётом вывода блоков с кодом.
    4. Сокращён путь к файлу. Теперь выводится от корня сайта, а не абсолютный путь.
    5. Изменено название функции с pre() на pre_mod(), чтобы избежать возможных проблем (слишком простое название может прийти в голову не только мне). Также изменены css-классы блоков по этой же причине.

    ДОПОЛНЕНО (17.07.2019):
    1. Полностью переписан скрипт обработки действий с блоками.
    2. Добавлены параметры по-умолчанию и изолированы друг от друга. Теперь у блоков может быть разная высота.
    3. Добавлена проверка на наличие метода в системе. Теперь можно не опасаться, что при отключении дополнения оставленный в шаблонах вызов приведёт к ошибке.

    ДОПОЛНЕНО (12.01.2020):
    1. Сокращён код. Формирование и вывод CSS-стилей и JS-кода теперь происходит однократно при генерации первого блока.
    2. Вызов функции из шаблонов с отложенной загрузкой раньше происходил после отработки скриптов, что приводило к ошибкам. Теперь функция мониторит страницу на предмет появления блоков с отложенной загрузкой каждые 2 секунды. По-умолчанию этот опрос длится 10 секунд, но это время также настривается параметром функции.
    3. Кнопка переключения окон с кодом в левом верхнем углу подсвечивается красным цветом до окончания процесса опроса.


  • 03 ноября 2016 г. , редакция: 1478197399
  • Сейчас поясню. Когда нужно вывести переменную, мы пишем
    Код
    echo $variable;

    Выводится значение переменной. А если таким же образом попытаться вывести массив, то echo выведет только слово "Array".

    Допустим, массив $result['rows'] в файле shop.view.rows.php модуля магазин содержит данные о товарах и их нужно просмотреть. Чтобы увидеть содержимое массива, надо воспользоваться вышеуказанными функциями print_r() или var_dump().

    Код
    print_r( $result['rows'] ) ;
    либо
    Код
    var_dump( $result['rows'] ) ;


    Первая выведет только содержимое, вторая добавит в вывод более точные подробности. Поясню. Вы написали код, но при его выполнении ничего не происходит (ничего не выводится).

    print_r() может также вернуть "пустоту", а вот var_dump() может вывести, например, "false", подсказывая, что ваш скрипт при выполнении возвращает не "пустоту", а это значение.

    И разобраться становится уже проще. Это конечно приблизительное объяснение.
  • 05 ноября 2016 г. , редакция: 1478305349
  • Спасибо за комментарий, Денис! Но с утверждением про IDE я согласен только отчасти.

    Это решение (изложенное выше) призвано помочь в вёрстке и доработке фронт-энда, т.е. "вьюх". Не более того. Большинству этого будет достаточно, чтобы разобраться и чтобы найти необходимое. Во "вьюхах" нет ни одного участка, который нельзя вывести при помощи print_r. Всё в $result передаётся. Его решение и показывает.

    Пользоваться неповоротливыми IDE, у которых 500 настроек, далеко не всегда оправдано. Также как и использование Git и прочих современных фишек. В среде программистов очень сильна мода на новшества и они порой их используют только потому что это модно, современно, профессионально. У некоторых это переходит в маниакальное подобие религии. На "Хабре" об этом уже десятки статей от профессионалов и с большинством из них я полностью согласен.

    Это как устанавливать полный пакет Photoshop, "жрущий" по 4 гигабайта оперативки, чтобы линию нарисовать. Если заниматься сложным программированием, идущим дальше переменных, массивов и циклов - тогда да. Но тут об этом речи не идёт.

    Я в основном специализируюсь на фронт-энде. Пробовал с десяток IDE, почти все наиболее известные редакторы и в результате сейчас использую SinWrite. У него, разумеется, ограниченные возможности, но той совокупности инструментов, которую он предоставляет для решения моих задач при работе с фронт-эндом, я ни в одной IDE не видел и вряд ли увижу.

    Так что тут надо придерживаться правила: "Каждой задаче - свой инструмент", вместо "используйте IDE - это круто".

    P.S.:
    Цитата
    Пользуйтесь IDE не умеете - учитесь. Успехов.
    - более уместен был бы пример решения аналогичной задачи при помощи IDE, а так немного смахивает на выпендрёж.

    "Успехов", - это "фишка" Виталия. На форуме Diafan нужно писать: "Успехов" (c).
  • 06 ноября 2016 г.
  • Цитата
    кому-то действительно пригодится, кто до сих пор ещё не попробовал инструменты которые позволяют обходится без print_r
    Я думаю, что среди пользователей CMS таких более половины и им никогда не понадобится забираться дальше фронт-энда. И у многих из них не будет желания изучать для решения этих задач что-то более сложное, чем Notepad++. Сами же пишите, что IDE вам понадобилась по мере роста потребностей.
    Далеко не во всех IDE есть даже множественная каретка и другие "плюшки" для быстрой вёрстки.
    Поэтому IDE может быть очень удобной для одних задач и совершенно неудобной и тем более избыточной для других.

    Поэтому и прокомментировал вашу фразу про IDE. Как уже отметил выше - "всему свой инструмент".

    "Спасибо" вернул, спасибо!
  • 12 января 2020 г.
  • Здравствуйте! Я его переписал на Jquery, но не всегда библиотека успевала загрузиться перед модулем. Поэтому отключил до лучших времён. А раз спросили, решил доделать, добавил проверку на блоки с отложенной загрузкой и кое-что переписал и доработал. Активирую в аддонсах завтра, скачаете.
  • 29 января 2016 г. , редакция: 1454067589
  • Добрый день!
    1. Какой шаблон? Платный/бесплатный/стандартный? (если не стандатрный, ссылку на шаблон в студию).
    2. Какая версия IE (6, 7, 8, 9, 10, 11, Edge)? Что значит "некорректно"? В чём это выражается (скрин экрана сделайте).
    3. Какая версия CMS?
    4. "Какие изменения могли...", - а какие вы делали? Описание изменений тоже нет.
    Ни на одном форуме нет штатных нострадамусов. Без нормального оформления сообщений вы либо будете на уточняющие вопросы отвечать дней 10, либо получите ответ
    Цитата
    Какие изменения в шаблоне могли вызвать эти ошибки?
    Какие угодно.

  • 29 января 2016 г.
  • По поводу отображения шаблона вам придётся дождаться комментарий продавца. А по поводу правки файлов. Можно попробовать создать тему. Система все изменённые файлы сложит в папку custom, а на их место положит родные.

    При этом система будет искать рабочие файлы сайта сначала в custom, а потом в изначальной директории. Если папка custom окажется пустой, система будет использовать дефолтные файлы.

    Вы можете создать тему, скопировать файлы из папки custom куда-нибудь (папка станет пустой). А затем ложить обратно изменённые файлы частями и смотреть - на каком из них начнётся изменения на сайте. Это один из вариантов.
  • 30 января 2016 г. , редакция: 1454143908
  • Нет смысла делать ссылку на файл, если в нём ничего нет. Это надо у разработчика узнавать - была там информация изначально или это типовой файл для всех шаблонов (в некоторых там что-то добавляют, а в некоторых - нет).

    Нужно вам в тех.поддержку разработчика обращаться, на форуме отвечают пользователи в основном, а тут налицо вопрос к ТП.
  • 27 января 2016 г. , редакция: 1453903551
  • Цитата
    Я знаю место где заменить код
    Вы лучше напишите, где по-вашему это место находится (а ещё лучше опубликуйте тут также и кусок кода оттуда), а то с учётом того, что
    Цитата
    не знаю php, помогите
    это место может оказаться не совсем там, где нужно.
    У вас стоимость товара везде одна или есть случаи вывода нескольких цен, зависящих от характеристик товара?
  • 13 февраля 2016 г. , редакция: 1455375817
  • В последней версии 5-ки один цикл вывода цены, у вас два. Чтобы не выводить на страницу, можно в каждый цикл добавить простое условие:

    66-ая строка
    Код
    // у товара несколько цен
    if ($result["row"]["price_arr"])
    {
    echo '<div class="js_shop_form_param shop_form_param">';
    foreach ($result["result"]["depends_param"] as $param)
    { if ($result["row"]["no_buy"]) continue;
    102-ая строка
    Код
    echo '</div>';
    foreach($result["row"]["price_arr"] as $price)
    { if ($result["row"]["no_buy"]) continue;
    Чтобы не отображать на странице, можно шаблон вообще не трогать, а обойтись CSS:
    Код
    .shop_no_buy + .shop_form_param + .price_wait .shop_price {
    display: none;
    }
  • 13 февраля 2016 г.
  • Странно, я полностью скопировал код вашего шаблона и проверял на нём. Попробуйте скопировать целиком и заменить.
    Код
    <?php
    /**
    * Кнопка «Купить»
    *
    * Шаблон вывода кнопки «Купить», в котором характеристики, влияющие на цену выводятся в виде выпадающего списка
    *
    * @package Diafan.CMS
    * @author diafan.ru
    * @version 5.4
    * @license http://cms.diafan.ru/license.html
    * @copyright Copyright (c) 2003-2014 OOO «Диафан» (http://diafan.ru)
    */
    if (!defined('DIAFAN'))
    {
    include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
    }

    if (! empty($result["result"]["access_buy"]))
    return false;

    if (empty($result["row"]['price_arr']) && ! $result['result']["buy_empty_price"])
    return false;

    if(! $result['result']["buy_empty_price"])
    {
    $no_empty = false;
    foreach( $result["row"]['price_arr'] as $p)
    {
    if(trim($p["price"]))
    {
    $no_empty = true;
    }
    }
    if(! $no_empty)
    return false;
    }

    $action = '';
    if(! $result["result"]["cart_link"] || $result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    $action = 'buy';
    }

    echo '
    <form method="post" action="" class="js_shop_form shop_form ajax">
    <input type="hidden" name="good_id" value="'. $result["row"]["id"].'">
    <input type="hidden" name="module" value="shop">
    <input type="hidden" name="action" value="'.$action.'">';

    if ($result["row"]["no_buy"] || empty($result["row"]["count"]))
    {
    echo '<div class="js_shop_no_buy js_shop_no_buy_good shop_no_buy shop_no_buy_good">'.$this->diafan->_('Товар временно отсутствует').'</div>';
    $hide_submit = true;
    $waitlist = true;
    }
    if(! $result["result"]["cart_link"])
    {
    $hide_submit = true;
    }

    // у товара несколько цен
    if ($result["row"]["price_arr"])
    {
    echo '<div class="js_shop_form_param shop_form_param">';
    foreach ($result["result"]["depends_param"] as $param)
    { if ($result["row"]["no_buy"] || empty($result["row"]["count"])) continue;
    if(! empty($result["row"]["param_multiple"][$param["id"]]))
    {
    if(count($result["row"]["param_multiple"][$param["id"]]) == 1)
    {
    foreach($result["row"]["param_multiple"][$param["id"]] as $value => $depend)
    {
    echo '<input type="hidden" name="param'.$param["id"].'" value="'.$value.'"'.($depend == 'depend' ? ' class="depend_param js_shop_depend_param"' : '').'>';
    }
    }
    else
    {
    $select = '';
    foreach($param["values"] as $value)
    {
    if(! empty($result["row"]["param_multiple"][$param["id"]][$value["id"]]))
    {
    if(! $select)
    {
    $select = $param["name"].': <select name="param'.$param["id"].'" class="inpselect'.($result["row"]["param_multiple"][$param["id"]][$value["id"]] == 'depend' ? ' depend_param js_shop_depend_param' : '').'">';
    }

    $select .= '<option value="'.$value["id"].'"'
    .(! empty($_GET["p".$param["id"]]) && $_GET["p".$param["id"]] == $value["id"] ? ' selected' : '')
    .'>'.$value["name"].'</option>';
    }
    }
    if($select)
    {
    echo $select.'</select> ';
    }
    }
    }
    }
    echo '</div>';
    foreach($result["row"]["price_arr"] as $price)
    { if ($result["row"]["no_buy"] || empty($result["row"]["count"])) continue;
    $param_code = '';
    foreach($price["param"] as $p)
    {
    if($p["value"])
    {
    $param_code .= ' param'.$p["id"].'="'.$p["value"].'"';
    }
    }
    if(! empty($price["image_rel"]))
    {
    $param_code .= ' image_id="'.$price["image_rel"].'"';
    }
    if (!empty($waitlist))
    {
    echo '<div class="price_wait">';
    }
    echo '<div class="js_shop_param_price shop_param_price"'.$param_code.'>';
    echo '<div class="shop_price"><span class="shop_price_value">'.$price["price"].'</span> <span class="shop_price_currency">'.$result["result"]["currency"].'</span></div>';
    if (!empty($waitlist))
    {
    echo '</div>';
    }
    if (!empty($price["old_price"]))
    {
    echo '<div class="shop_old_price">'.$this->diafan->_('Старая цена').': <span class="shop_price_value">'.$price["old_price"].'</span>'
    . ' <span class="shop_price_currency">'.$result["result"]["currency"].'</span></div>';
    }
    if (!$price["count"] && empty($hide_submit))
    {
    echo '<span class="js_shop_no_buy shop_no_buy">'.$this->diafan->_('Товар временно отсутствует').'</span>';
    $waitlist = true;
    }
    echo '</div>';
    }
    }

    //скидка на товар
    if (!empty($result["row"]["discount"]))
    {
    echo '<div class="shop_discount">'.$this->diafan->_('Скидка').': <span class="shop_discount_value">'.$result["row"]["discount"].' %'.($result["row"]["discount_finish"] ? ' ('.$this->diafan->_('до').' '.$result["row"]["discount_finish"].')' : '').'</span></div>';
    }

    if(! empty($waitlist))
    {
    echo '
    <div class="js_shop_waitlist shop_waitlist">
    '.$this->diafan->_('Сообщить когда появится по телефону').'
    <input type="text" name="mail" value="">
    <input type="button" value="'.$this->diafan->_('Ок', false).'" action="wait">
    <div class="errors error_waitlist" style="display:none"></div>
    </div>';
    }

    echo '<div class="js_shop_buy to-cart">';
    if (empty($result["row"]['is_file']) && empty($hide_submit))
    {
    echo '<span class="shop_count">'.$this->diafan->_('Кол-во').': <input type="text" value="1" name="count" class="number" pattern="[0-9]+([\.|,][0-9]+)?" step="any"></span>';
    }
    if(empty($hide_submit))
    {
    echo '<input type="button" class="button solid" value="'.$this->diafan->_('Купить', false).'" action="buy">';
    }
    echo '</div>';

    if(empty($hide_submit) && ! empty($result["result"]["one_click"]))
    {
    echo '<div class="js_shop_one_click shop_one_click"><input type="button" value="'.$this->diafan->_('Купить в один клик', false).'" action="one_click"></div>';
    }

    echo '<div class="error">';
    if (!empty($result["row"]["count_in_cart"]))
    {
    echo $this->diafan->_('В <a href="%s">корзине</a> %s шт.', true, BASE_PATH_HREF.$result["result"]["cart_link"], $result["row"]["count_in_cart"]);
    }
    echo '</div>';
    echo '</form>';
    //форма быстрого заказа
    if(! empty($result["result"]["one_click"]))
    {
    echo '<div class="clear"></div>';
    $result["result"]["one_click"]["good_id"] = $result["row"]["id"];
    echo $this->get('one_click', 'cart', $result["result"]["one_click"]);
    }
  • 25 января 2016 г. , редакция: 1453731594
  • Хочу обратить внимание на некоторые моменты, может кому-то данная информация будет полезна.

    Сразу оговорюсь, что данная тема именно для тех пользователей, кто не в курсе (есть и такие). Прошу не пинать с комментариями: "Спасибо, капитан Очевидность!".

    РАЗМЕЩЕНИЕ ИЗОБРАЖЕНИЙ В СООБЩЕНИИ

    Большинство из нас часто постят изображения в сообщениях. Сделать это можно двумя способами:
    1. При помощи BB-тега [img] с использованием ссылки на внешний источник.
    2. Прикрепив изображение к сообщению (внизу).
    Второй вариант хоть и позволяет закрепить изображения за сообщением (и залить его на сервер диафана), но намного менее удобен, поскольку
    • добавленные файлы располагаются в обратном порядке
    • у прикреплённых изображений нет пояснений (нет ни имён, ни комментариев к ним). При клике и просмотре тоже ничего, кроме номеров (2/4).
    Если для пояснения нужно использовать более одного изображения, возникает путаница.

    Вставляя ссылки с внешних источников (посредством BB-кода, либо просто давая ссылки на файлы) нельзя гарантировать их доступность ни сразу, ни потом. Не так давно было пару случаев. В первом из 5-и размещённых таким образом в сообщении изображений открылось три. Во втором в тело ссылок, указывающих на изображения, попали точки и запятые из текста и из 6-и ссылок открывалось две.

    Наиболее удобно читать сообщение и сразу под текстом видеть изображение, которое его поясняет. Реализовать это, избежав вышеописанных проблем, можно достаточно просто:
    1. Создать сообщение, прикрепив к нему необходимые изображения.
    2. Отредактировать созданное сообщение, использовав для вставки изображений BB-тег [img] и ссылки на прикреплённые изображения.
    Получить ссылку на прикреплённое изображение можно из контекстного меню (ПКМ), пункт "копировать ссылку"

    либо кликнув на изображении скроллом (изображение откроется в новой вкладке) и ссылку можно будет скопировать из адресной строки.
  • 25 января 2016 г. , редакция: 1453734453
  • ЦИТАТЫ С ОТСЫЛКОЙ НА ЦИТИРУЕМОЕ СООБЩЕНИЕ

    Тему проблемы цитирования я уже поднимал. Подозреваю, что решат её не скоро. Поэтому ниже предлагаю вариант, который облегчит поиск источника цитаты в случае необходимости.

    Простая цитата не несёт никакой доп. информации: ни кого цитировали ни когда цитируемый это сказал/написал, ни тем более - где он это сделал.
    Цитата
    просто цитата. Чья-то, откуда-то, когда-то кем-то опубликованная
    Можно запросто выдрать из контекста и перевернуть смысл любого поста с ног на голову. Чтобы хоть немного пополнить этот информационный провал, можно сделать следующее:
    1. Скопировать сообщение с шапкой (имя автора и время публикации).

    2. Скопируется следующее:
      Цитата
      [Партнер-разработчик] Любимов Павел (webnavigator) 32 минуты назад, редакция 1 минуту назад
      Хочу обратить внимание на некоторые моменты, может кому-то данная информация будет полезна.

    3. Удалить всё лишнее при вставке цитаты (можно выделить инфу об авторе и время жирным):
    4. Цитата
      Любимов Павел (webnavigator) 32 минуты назад
      Хочу обратить внимание на некоторые моменты, может кому-то данная информация будет полезна.

    Результа очевиден.

    В первом случае получаем нормальную цитату, из которой хотя бы понятно кто и когда (про где - отдельный разговор).
    Во втором просто кусок текста с пометкой "цитата".
  • 25 января 2016 г. , редакция: 1453670966
  • Анимацию двух плашек слева в слайдере надо либо убирать, либо сделать, чтобы выезжали слева. Сильно тормозит и движение рваное получается. CSS ещё долго не будет работать так же плавно, как флеш. Слайды сами (эффект) лучше заменить на fade, либо фон какой-то сделать каждому слайду вменяемый (не белый цвет).

    При наведении на фото в карточке товара оно тускнеет. Надо или убрать этот эффект или наоборот.

    Я бы убрал верхнюю рамку у <li class="tab-current"> у вкладок. Названия на вкладках не отцентрованы. Я убрал отступы и слева от текста осталось пространство.

    Вкладки надо сделать также, как они сделаны в отзывах (см. вкладку "Отзывы" в карточке товара).


    Завтра может ещё чего-нибудь напишу, поздно уже.

Новости

  • 17 января, пятница
  • В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
  • 18 июня 2024 г.
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля 2024 г.
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.