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

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

  • 15 октября 2013 г.
  • Ха! Каша у Вас в голове
    301 редирект - это когда по одному адресу запрашивается страница, но у страницы теперь другой адрес, и система об этом знает, что страница была по старому адресу, но теперь адрес у нее новый. Соответственно, делается редирект. В Вашем случае для системы есть страница с поиском товаров, с адресом /katalog.html?catid=117&module_ajax=&action=search&p11[]=103. Система эту страницу знает именно по этому адресу. Если Вы делаете редирект на страницу /katalog/117/search/103/ - система думает "Что это??? Я понятия не имею, что это за адрес" - и ничего не работает. То есть, вывод: чтобы работал 301 редирект, конечный адрес должен быть известен системе, она должна открывать эту страницу.
    Путь решения проблемы для небольшого количества страниц (ручная работа):
    1. Вы создаете страницу сайта, обычную. Делаете ей ЧПУ /katalog/117/search/103/. В визуальный редактор вставляете шаблонный тег поиска по товарам show_block module=shop param=*** с Вашим catid и p11=103
    2. Кормите Яндексу существующие страницы /katalog/117/search/103/, которые известны системе и работают

    Путь решения проблемы для большого количества страниц (автоматический режим) теоретический
    Я точно не помню, но мне кажется пару лет назад я делал что-то подобное, через регулярку в htaccess. Особенность была в том, что мы запрашиваем УРЛ1, правило подгружает содержимое УРЛ2, но в адресной строке остается УРЛ1. Т.е. система знает УРЛ2. И при запросе УРЛ1, система думает, что просят УРЛ2 и его отдает. Как раз можно сделать при запросе /katalog/117/search/103/ адрес остается в строке именно этот, но цмс отдает содержимое /katalog.html?catid=117&module_ajax=&action=search&p11[]=103.
    И через регулярку пишется, чтобы 117 из katalog/ подставлялось в catid и т.д.
    Но еще раз говорю, точно я не помню, ни правило, но регулярку. Это надо погуглить. Вроде можно.
  • 14 октября 2013 г.
  • Топик такой, с вызовом.
    Данил, Вы чего ждете здесь? Ответов "Да, диафан будет лучше"? Или извинений за "несоблюдение сроков"? Или жаркую дискуссию по каждому пункту, что все не так, как Вы говорите?
    Цитата
    Почему нельзя в документации навести порядок?
    Порядок - понятие относительное. Сильно зависящее от привычек конкретного человека. Кто-то видит в разбросанных по столу документах хаос, а для кого-то все по рукой. И ровные стопки не удобны и не привычны. Мы делаем документация так, как нам кажется будет удобно и понятно пользователям. Мы вообще все делаем так, как нам кажется, будет удобно людям, и интерфейс цмс и функции, и шаблонные теги. Они не похожи на другие цмс, но людям нравится. Все нравиться нельзя, поэтому те, кому нравится - работают с нами. Кому не нравится, делают сайты на других цмс. Нет проблем.
    Цитата
    5.3. версия рабочая, можно ли на ней делать дорогой проект-портал, чтобы стыдно потом перед заказчиками не было?
    Это вообще странный вопрос. Откуда кто-то может знать, будет ли Вам стыдно?
    Цитата
    Где гарантии, что данный проект не закроется через энное время.
    Гарантий нет. Ничто не вечно. Где гарантии, что Apple не закроется завтра?
    Цитата
    Самое главное, что не нравится, это несоблюдение сроков событий. Цмс 5.3. - документация старая, непонятно к какой версии имеет отношение. 1 октября демо старое, новости о релизе потом выходят. Как-то так...
    Мы обещаем выпустить релиз 1-го октября, мы это сделали. Написать новость о выходе релиза ровно 1-го октября мы не обещали. А дема обычно после выхода релиза обновляется.
  • 14 октября 2013 г.
  • Цитата
    Например, я с ним полностью согласен, и мне, как клиенту было бы удобно, если бы в документации было бы указано к какой версии относится тот или иной функционал, если есть различия . Хотя бы для последних релизов. В данном случае 5.2 и 5.3
    Я представляю как это сложно вести такую документацию, но тем не менее.

    Документация, вопрос очень больной. И большой. Те, кто занимался разработкой мало-мальски крупного продукта, знают, что задокументировать программу часто даже сложнее и дольше, чем ее саму написать. У нас все распылено пока, документацию пишут программисты, под контролем ведущего программиста, после самой разработки. Вот и получается, что есть заминки и задержки. Но мы уже решили, буквально на прошлой неделе, что будем объявлять вакансию технического писателя, который будет заниматься только документацией. Так что этот вопрос мы скоро решим, надеюсь, полностью и навсегда.
  • 15 октября 2013 г.
  • Это потому, что в menu.view.show_level_2.php рекурсия в самого себя menu.view.show_level_2.php.
    menu.view.show_level_1.php при углублении ссылается на menu.view.show_level_2.php, а menu.view.show_level_2.php сам на себя.

    Пожалуйста, нет проблем. Скопируйте menu.view.show_level_2.php в menu.view.show_level_3.php, измените там шаблон вывода - будет уровень 3 показываться отдельно. Конечно, не забудьте из menu.view.show_level_2.php сослаться на 3

    Сделайте menu.view.show_level_4.php menu.view.show_level_5.php и menu.view.show_level_6.php - будет у вас 6 внешних видов всех 6 уровней
  • 14 октября 2013 г.
  • В модельке получаете, /modules/photo/photo.model.php в функции id()
    Для верности находите присвоение текста-анонса
    Код
    $this->result["anons"] = $this->diafan->_useradmin->get($this->result["anons"], 'anons', $this->diafan->show, 'photo', _LANG);
    и ниже приписываете
    Код
    $this->result["nastra"] = $this->diafan->configmodules("nastr");

    Затем во вьюхе photo.view.id.php где надо выводите
    Код
    echo $result["nastra"];


    Я только не понял, зачем на отдельной странице одной фотографии выводить количество фоток на странице
  • 14 октября 2013 г.
  • Вам надо копаться в настройках обработчика картинок для магазина, это во-первых. Ставьте качество 80-90, не надо 100. Разницы не заметно особой, а размер меньше заметно. Задавайте нужный размер для картинок. Затем можете нажать "Применить настройки ко всем ранее загруженным" - скрипт перегенерит все картинки согласно настройкам. Автоматически и всё сразу.
    Мы недавно переносили магазин, фоток было тысяч под 10. Все перегенерились под новые размеры успешно.
    А затем же можно смотреть на сайте, как их оформить.
  • 15 октября 2013 г.
  • Сергей, как это "не смогли помочь"? Пишите тогда как есть, что "помочь техподдержке я не разрешил"
    Этот участок проверяет, является ли выводимый пункт меню категорией, которая впоследствии была отключена, чтобы пункты меню не вели на 404. Этот участок успешно работает на стандартных сборках. Однако, как Вы признались в техподдержке, Вы много чего кастомизировали в движке. Проблем нет, техподдержка готова выяснить, что конфликтует, но тестовый доступ к ftp Вы не дали.
  • 11 октября 2013 г.
  • Документацию обновляем.
    В целом, все таблицы _rel - таблицы связей, вложенностей. Какая запись какой принадлежит. Это для снижения нагрузки на sql. Чем выуживать многоэтажным запросом структуру категорий, например, проще иметь небольшую лишнюю табличку. Зато выполнение запросов в несколько раз быстрее.
  • 11 октября 2013 г.
  • Это системный список мультивыбора, работает всегда и везде одинаково, от нас не зависит. Удерживаете ctrl и ставите несколько пунктов. Или кликаете на единственный выделенный пункт, удерживая ctrl, и снимаете его
  • 08 октября 2013 г.
  • Денис, Вы определитесь сначала, где именно нужно вывести это количество. В карточке товара, в списке товаров, в блоке?
    Соответственно, этот запрос надо совать в ту функцию, list, id или show_block, там же, где получаются название товара, описание и пр. И присваиваются в $row[], для передачи во view. Вот там же прилепляете $row["comments"]
    Затем выводите в view
  • 11 октября 2013 г.
  • 1. Включаете режим разработчика и отключаете кеширование.
    2. В модельке берете функцию, например, id() для карточки.
    3. Разбираете структуру функции, видите там запрос в БД, формирование массива result для передачи во вьюху. И вот рядом с формированием названия, текста товара и пр., и перед передачей result суете этот код.
  • 15 октября 2013 г. , редакция: 1381826589
  • Ох, Денис, Денис.
    Вы говорите, что выводите товары на главную, значит через show_block.
    Следите за мыслью:
    1. В параметрах сайта отрубаем кеширование и включаем режим разработки.
    2. Идем в /modules/shop/shop.model.php и находим там public function show_block. Видим, что функция собирает параметры в сборный запрос, формирует большой сложный SELECT и затем вызывает
    Код
    $rows = $this->get_elements(...);

    Понимаем, что массив $rows с товарами формирует функция get_elements, которая находится здесь же, в этом файле.
    3. Находим ниже функцию public function get_elements, видим, что значения товаров для списка набиваются в массив $row, где как раз и сидят имена товаров, картинки, всякие прочие параметры и все это в цикле. В конце цикла формируется массив $rows, который каждым своим значением имеет массив отдельного товара. Ну не суть. В общем, это строка
    Код
    $rows[$i] = $row;
    То есть, поля каждого отдельного товара заполнились и засунулись в массив $rows.
    А в самом конце функции массив $rows возвращается.
    Код
    return $rows;

    Так вот! Перед тем, как переменные массива $row (а это отдельные поля отдельного товара) добавляются в массив $rows, нам надо добавить туда еще одну переменную $row, в которой будет сидеть количество комментариев к этому отдельному товару! Понимаете?
    То есть, перед
    Код
    $rows[$i] = $row;

    Добавляем наш код!
    Код
    $row["comments"] = DB::query_result("SELECT COUNT(*) FROM {comments} WHERE module_name='shop' AND element_id=%d AND trash='0'", $row["id"]);
    $rows[$i] = $row;

    Все! Переменная в количеством комментариев сидит у нас в модельке у каждого товара в массиве row с ключем comments.
    4. На всякий случай убеждаемся, что не только show_block, но и show_block_rel и прочие функции также используют get_elements для получения списка товаров, так что comment теперь будет сидеть у нас везде!
    5. Осталась мелочь! Идем в /modules/shop/views/shop.view.show_block.php и выводим количество комментариев где нам надо. Например, так:
    Код
    //название и ссылка товара
    echo '<div class="shop_name"><a href="' . BASE_PATH_HREF . $row["link"] . '">' . $row["name"] . '</a> (комментариев: '.$row["comments"].')</div>';

    6. В каждой остальной вьюхе так же.
  • 21 октября 2013 г.
  • Цитата
    строка 1022
    Строка тут не особо важна.
    Принцип тот же, что я описывал.
    Идем в /modules/shop/shop.model.php ищем там функцию id()
    И там где-нибудь среди прочих формируемых переменных $this->result[] прибавляем свою любую, названную как угодно, например $this->result["comments_cnt"].
    Затем ловим ее во вьюхе /modules/shop/shop.id.php как $result["comments_cnt"]
  • 14 октября 2013 г.
  • Цитата
    Все картинки на сайте загрузятся сначала сразу же (т.к. уже ранее загружались), а потом начинаю перегружаться снова.
    Это браузерный кеш, плюс хостинг. На большинстве хостингов все нормально, а на некоторых хостингах запрет кеша воспринимается буквально и происходит такая ерунда.
    Момента два:
    1. Попробуйте в /.htaccess закомментировать предпоследнюю строку
    Код
    # Header append Cache-Control "no-store, no-cache, must-revalidate"


    Если не поможет и картинки продолжатся перезагружаться при хождении по сайту, то тогда план Б:

    2. Идете в /includes/init.php в районе 600 строки находите там функцию
    get_headers()
    И там по очереди комментируете строки
    Код
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Pragma: no-cache");
    header("Cache-Control: post-check=0, pre-check=0", false);
    проверяя, прекратилось ли мигание картинок.

    Цитата
    не понял по поводу вашего плагина. это какой?
    В визуальном редакторе есть два плагина, стандартный тиневский и наш. Это две иконки в третьем ряду сверху. Первая и вторая, в виде картинки, одна с плюсиком, вторая без. "diafan images plugin" и "добавить изображение". Вот первая - наша.
  • 25 января 2014 г.
  • Цитата
    По телефону ответили, что в тестовом режиме идет урезанная версия.
    По какому телефону? Кто сказал? Ох уж эти телефонисты, сидят, черти чего придумывают Станислав, все приличные специалисты-программисты на телефонах не сидят, они в техподдержке, или в край на форуме Так что лучше не звонить, а писать в ТП, а то Вам нарасскажут...
    Версия в тестовом периоде идет точно такая же, как и не в тестовом - совершенно полноценная. Вы ее можете поставить на сайт, настраивать заполнять и если все понравится, спустя 21 день оплатить лицензию. Ничего после оплаты не изменится, всё продолжит работать как и раньше. В том-то и разница, что не "версия тестовая", а "период". Поэтому, если что-то не работает, значит это потому, что Вы что-то не так настроили, а не потому, что этого нет.
    Чтобы говорить предметно, надо смотреть сайт и настройки автогенерации. Или пишите в ТП, или сделайте пару скриншотиков.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум