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

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

  • 25 марта 2015 г.
  • Конечно, можно. Брать и оптимизировать. И первый шаг описан выше: режим разработчика + профилирование запросов. Там будет видно, в чем проблема и какие запросы медленные. Обычно достаточно индексы поставить.
  • 22 октября 2012 г.
  • Тут бы верстку увидеть, и меню. Вслепую идеи сложно генерировать.
    А вообще, чем show_links не подходит? Он как раз показывает все подпункты текущего пункта. А все исходное меню можно скрыть. Хотя не, не пойдет наверное... В общем, сайт надо
  • 22 октября 2012 г.
  • Здравствуйте!
    Вообще, это не очень быстро. Я навскидку не скажу.
    Вообще, уведомление летит администратору сайта на ящик из настроек сайта в файле modules/feedback/feedback.ajax.php
    Если файл открыть, то там видно код, есть комментарии.
    В принципе, если я правильно понял задачу, можно сделать в форме обратной выпадающий список "Отправить: менеджеру/директору", задать в переменную списка значения 1/2. И уже в ajax в зависимости от того, что пришло, подставлять в переменную $to тот или иной майл.
  • 30 октября 2012 г.
  • Поднимали этот вопрос где-то на форуме уже. Таких ссылок в структуре нет, поэтому бояться нечего. В принципе, вручную конструкцию типа ?rewrite=page_name присобачить можно к любому сайту и он отдаст 200, например. И в таких случаях лучше просто закрыть в роботсе в ноиндекс все страницы ?rewrite* и всего делов.
  • 21 октября 2012 г.
  • Можете делать через кастомизацию. У нас в 5.1 была очень серьезная доработка на эту тему. Про нее уже есть в документации. http://cms.diafan.ru/dokument/full-manual/developers/api/customization/
    То есть, отдельным файлом можно задать новые алгоритмы любых функций, не трогая исходный файл. И таким образом не бояться ни автообновлений, ни новых версий. Совместимость сверху мы постараемся сохранить на многие годы, так что поработав раз, больше код от Вас никуда не денется
  • 21 октября 2012 г.
  • Цитата
    Мне интересно мнение разработчиков Диафана, предполагается ли улучшение соцчасти cmsки или нет? Стоит ли вообще поднимать вопрос?
    А какое у нас может быть мнение? У нас давно совего мнения нет. Как народ скажет, так мы и делаем.
  • 22 октября 2012 г.
  • Можно, конечно.
    Только это не "один файл". Эти файлы можно создавать в дополнение к каждому существующему в CMS.
    Если Вы можете добавить несколько полей в админку через стандартные файлы, значит можете и через кастомизацию.
  • 23 октября 2012 г.
  • Азат, Вы все правильно поняли
    Но надо думать дальше Тут беда в том, что в конце функции id идет return $this->result; а кастом after идет в конец после этого присвоения, поэтому туда Ваше действо не попадает .
    Я думаю, можно попробовать before, или добавить в кастом еще раз return $this->result;
    Если не сработает, я передам проблему ведущему разработчику, будем думать
  • 21 октября 2012 г.
  • Азат, это даже для меня слишком просто
    1. Идем во вью, где теги выводятся, это отдельная новость modules/news/views/news.view.id.php, или список новостей modules/news/views/news.view.list.php и видим, что и там и там выводятся теги как
    Код
    echo $result["tags"];
    Это значит, что все это дело сидит в одной переменной. Совершенно очевидно, что приходит она из модели.
    2. Идем в модель modules/news/news.model.php и видим, что эта переменная формируется как
    Код
    $this->result["rows"][$i]["tags"] = $this->diafan->_tags->get($row["id"]);
    Это подключение, кстати, описано в документации, но я так понимаю, полезно это только опытным программистам, начинающие там нифига не поймут Поэтому действуйте методом тыка и соседних аналогий.
    3. Замечаем, что теги забираются там же, в районе тех же строк, где name, anons, date.
    4. Соответственно, идем в функцию show_block() и в 965 строке (для 5.1) рядом с аналогичными строками присобачиваем
    Код
    $this->result["rows"][$i]["tags"] = $this->diafan->_tags->get($row["id"]);

    5. Все, можно идти в modules/news/views/news.view.show_block.php и где нужно выводить
    Код
    echo $result["tags"];
  • 21 октября 2012 г.
  • Владимир, все верно. В модели получаете переменную, затем передаете во вью.
    Запомните! Все переменные из модели во вьюху передаются с помощью одного единственного массива: $result[]! В любом модуле, хоть в карте сайта, хоть в новостях!
    Так что последовательность такая:
    1. Отключаете кеширование
    2. Правите запрос, добавляя по образу соседних нужное поле
    3. Ниже, сразу за запросом, где-нибудь в цикле, ищете, где данные добавляются с массив $result. В коде он может быть как $this->result["какая-то переменная"], или еще как-то заполняться, неважно, главное, имя массива result. И по образу соседних прибавляете свое поле.
    4. Идете во view и там она уже есть. Также по образу и подобию соседних переменных ее выводите. Если сразу что-то не вывелось, пробуйте варианты, потому что новички часто путаются с именами индексов вложенности массива, чтобы правильно обратиться к переменной
  • 22 октября 2012 г.
  • Смотря как спросите. Если "Как мне сделать модуль соц.сети?" - отправят в заказы, конечно
    А если конкретный вопрос "Как передать переменную из модели в шаблон модуля, то ответят. Но как для коллеги-программиста, конечно. Если РНР - нуль, то пардоньте, разжевывать как я не будут
  • 22 октября 2012 г.
  • Если Вы про map.model.php, то не знаю. В 5.х в map.model.php нет такого запроса.
    Там есть
    Код
    $result = DB::query(
    "SELECT s.id, s.[name], s.module_name FROM {site} AS s"
    .($this->diafan->_user->id ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='site'" : "")
    ." WHERE s.[act]='1' AND s.parent_id='%d' AND s.trash='0' AND s.map_no_show='0' AND s.block='0'"
    ." AND (s.access='0'"
    .($this->diafan->_user->id ? " OR s.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
    .")"
    ." GROUP BY s.id ORDER BY s.sort ASC, s.id ASC",
    $parent_id
    );

    Вот туда по аналогии и прибавляете
    Код
    $result = DB::query(
    "SELECT s.id, s.[name], s.count_children, s.module_name FROM {site} AS s"
    .($this->diafan->_user->id ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='site'" : "")
    ." WHERE s.[act]='1' AND s.parent_id='%d' AND s.trash='0' AND s.map_no_show='0' AND s.block='0'"
    ." AND (s.access='0'"
    .($this->diafan->_user->id ? " OR s.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
    .")"
    ." GROUP BY s.id ORDER BY s.sort ASC, s.id ASC",
    $parent_id
    );

    Ниже идет наполнение массива result, туда прибавляем
    Код
    $this->result[] = array("margin" => $margin, "link" => $link, "name" => $row["name"], "count_children" => $row["count_children"]);

    и все, в map.view.list.php оона будет доступна как $row["count_children"]
  • 22 октября 2012 г.
  • Цитата
    А дальше? Там миллион возможных ошибок в синтаксисе и я как обезьянка их буду перебирать год, не знаю азов php. А на их изучение, вот честное слово, сейчас совсем времени нет. :(
    Вообще, это самая неблагодарная работа, давать пошаговые инструкции обезьянке, которая не хочет думать и учиться. Поэтому, Владимир, на самом деле: Вы или начинайте вникать в РНР и учитесь программировать, или занимайтесь свои делом, где Вы специалист, а за программирование платите соответствующим специалистам. Чесс.слово, в несколько раз больше времени тратится чтобы разжевать код, чем его просто написать. И тем более обидно, что распинаешься в пустоту, Вы это не запоминаетесь и не интересуетесь этим. Через два дня будет задача совершенно аналогичная, но с другими именами переменных, и опять Вам "код писать"?
  • 22 октября 2012 г.
  • Цитата
    Но честно говоря, Вы меня немного удивили. Денисом повеяло. Неужели вы оба никогда не обращались на форумы за помощь, в областях в которых вы вообще ничего не понимаете.
    Напомнило анекдот, когда одному военному генералу, впервые приехавшему в Москву на машине, звонят на сотовый: "Генерал, будьте осторожнее, в новостях передали, что по МКАДу по встречке мчит один идиот" - "Да какой один, их тут сотни!".
    Владимир, если разные люди начинают "веять", может не в них проблема?
    Я если и обращался на форумы, то никогда не говорил "Мне пофиг, что вы тут мне уже написали, у меня нет времени в этом разбираться, дайте мне готовый код", даже если на самом деле так думал. Я всегда просил удочку, а не рыбу. И не лез на форумы в те темы, которыми заниматься не собирался.
    Цитата
    Вот у меня форум врачебных консультаций. Там доктора, причем очень сильные профи, каждый день отвечают людям. И они приходят туда с разными вопросами, по много раз их задают, но почему то никто их не отправляет читать книги по медицине. ;)
    И представьте, как это выглядело бы, если бы они предложили поэтапно изучить разные разделы медицины, чтобы плавно подойти к ответу.
    Одно дело разные люди с разными и даже одинаковыми вопросами. А другое дело один человек, который изо дня в день задает одни и те же вопросы в разных словоформах, причем "сделайте все за меня, дайте готовый код"...
    Цитата
    Любой чих по вашей cms это минимум 1000 рублей (это даже у "частников" которые здесь тусуются)
    Да цмс-то тут причем? За каждым "чихом" стоит беседа с заказчиком, обсуждение ТЗ, получение доступов, переход на сервер, вникание в текущий код, верстку, дизайн, стили, скрипты, тексты. Потом "чих". И потом снова беседы с заказчиком, сдача ему работы, получение денег. Это все время, в сумме чуть ли не на пол-рабочего дня. Попробуйте заказать чих по сайту на друпале, джумле, или неткате. Вряд ли кто-то за 300 рублей сядет даже дату переформатировать в новостях...
  • 22 октября 2012 г.
  • Цитата
    Виталий, я и не рассчитывал, что лично Вы будете постоянно помогать. Вы и так уже серьезно помогли. Но может кто-то еще подключиться.

    У меня работа такая, на вопросы отвечать на форуме. И неважно кто их задает, разные люди или один. А вот "кто-то еще" из специалистов не подключится. Потому, что они смотрят "о, вопрос", смотрят "О, Виталий нормально ответил", и не лезут, потому что и так все должно быть понятно для того, кто темой интересуется. Если что-то я ответил не так, не полно, или неоднозначно, пусть меня собратья-программеры позором заклеймят
  • 22 октября 2012 г.
  • Владимир, Ваша позиция ясна и прозрачна. Я еще раз говорю, дело не в форуме и направлении, а в акцентах, окрасах и умении подобрать слова при общении с людьми. Могу Вас уверить, если я приду на Ваш форум и напишу "Слышь, Пилюлькин, чё ты мне тут чешешь? Рецепт выпиши нормальный, чтобы я выздоровел и иди лесом. Мне плевать на медицину, я её знать не знаю и не собираюсь вникать" - мне никто ничего отвечать не будет... А если будет, то неохотно. Потому, что врачи какую-никакую клятву Гиппократа давали, а программисты даже Apache сервером не клялись...
  • 22 октября 2012 г.
  • Цитата
    Виталий, процитируйте пожалуйста, где я в подобной форме обращался за помощь?
    Владимир, я утрирую, конечно, для наглядности. Чтобы стал понятен смысл. Еще раз говорю, чтобы вызвать негатив часто достаточно акцента или двусмысленности.
    Цитата
    Вы когда к врачу в оффлайне приходите, Вы подразумеваете "доктор, я так тащусь от медицины, просто фанат. Объясните мне всю теорию, почему и как вы будете лечить, с полным курсом анатомии"
    Конечно, нет. Не прошу объяснить. Я плачу деньги - меня лечат. И вообще, это некорректное сравнение, написание РНР-кода и совет врача на форуме.
    Цитата
    P.P.S. Если Вы что-то спросите у меня по химии, к примеру как получить конкретное вещество, то я Вам напишу конкретную реакцию, а не отправлю изучить типы реакций, их механизмы, катализаторы, влияние температуры и прочие нюансы.
    Я лично что не так написал в своих решениях? Отправил учить РНР вместо кода? Я все-таки давал код, затем советовал подучить основы, потому, что Вы, Владимир, уже второй год ковыряетесь со своим сайтом, а не "разово пришли болячку вылечить".
  • 22 октября 2012 г.
  • Цитата
    Заметьте сколько времени ушло у каждого из нас на эту переписку. Просто помочь, ответив на конкретный вопрос, конкретным кодом и куда его вставить, заняло бы гораздо меньше времени.
    А чего? Вы собеседник интересный, пишете без ошибок, грамотно, с выражением и эмоциональностью. Грех в полемику не вступить
  • 23 октября 2012 г.
  • Владимир, Вы не лентяй. Вы просто не дипломат. И часто слишком прямолинейны. Такими методами Ваша гордость будет в порядке, но результата будет немного. Говорите людям то, что они хотят услышать и Вы получите результат.
  • 18 октября 2012 г.
  • Это для скорости работы CMS, чтобы не нагружать БД дополнительными лишними громоздкими запросами. Если не вникать и не вмешиваться в алгоритм работы модуля, то данные в таблицах расходиться не будут.
  • 18 октября 2012 г.
  • Поэтому либо ставьте 5.2, либо комментируйте в указанных файлах функции PHP, которых в 5.1 нет еще.
    В частности начните с /includes/developer.php
    119 строка
    Код
    $error = "";//error_get_last();

    И т.д., где Ваш 5.1 будет ругаться, что он какие-то функции 5.2 еще не знает...

Новости

  • 19 сентября 2025 г.
  • Мы внесли изменения в лицензию и объявляем, что прекращаем техническую консультационную поддержку сайтов на DIAFAN.CMS версий старше 7.0. А это все минорные версии платформы, предшествующие актуальной линейке, а именно: версии серии 4.x, 5.x, 6.x.
  • 15 сентября 2025 г.
  • У нас отличные новости! Мы выпустили новую сборку DIAFAN.CMS 7.3, которая включает встроенные нейросети непосредственно в административной панели. Это значит, что создание контента для вашего сайта больше не будет проблемой — искусственный интеллект возьмет эту задачу на себя, избавляя вас от необходимости привлекать копирайтеров или тратить время на написание текстов самостоятельно.
  • 25 марта 2025 г.
  • Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее. 

Блоги

  • 10.09.2025
  • DIAFAN.CMS славится нагрузоустойчивостью и безопасностью, про инциденты со взломом сайта на нашей системе давненько не слышали, но недавно получили мы письмо от fstec.ru такого характера:

    Обнаружена уязвимость в CMS-системе DIAFAN, позволяющая нарушителю, действующему удалённо, красть сессионные куки через XSS-атаку.