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

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

  • 21 декабря 2010 г.
  • Не, пинг не объективен.
    Тут же две стороны! Помимо хостера есть еще ваш провайдер. И бывает так, что некоторые маршруты у провайдера работают не очень и, по закону подлости, там как раз и оказывается хостер.
    Тогда например яндекс летает, а нужный сайт еле ползет...
    Посмотрите сторонними сервисами, например http://www.bufo.in/website-speed-test.html
    Введите свои сайты и майл.ру яндекс.ру для наглядности и сравнения. 2-3 секунды на сайт - это нормально.
  • 22 декабря 2010 г.
  • Ну там еще считаются картинки из оформления, файлы стилей и скриптов.
    Загрузить один файл 100кб быстрее, чем 10 файлов по 10кб. Поэтому если сайт весит больше, но в нем меньше файлов, он может полностью грузиться быстрее.
  • 22 декабря 2010 г.
  • 200тыщ - это уже объемчик Любопытно будет посмотреть, хватит ли самого дешевого виртуального хостинга для такого сайта, чтобы не больше пару секунд была загрузка, или потребуется что-то побольше обычного или даже выделенный сервер все-таки...
    Покажете, как запустите сайт?
  • 16 января 2011 г.
  • Нормально :)
    Конечно быстрее, на хостинге сервера-то какие..!

    А насчет посещаемости. Натравите на сайт вот этот сервис: http://loadimpact.com/ Он сэмулирует загрузку посетителями, посмотрите время отклика. До 50 посетителей бесплатно.

    Еще есть http://loadstorm.com/ , он поинтереснее, но там регистрироваться надо и максимум 25 посетителей бесплатно.
  • 21 декабря 2010 г.
  • Часто спрашивают, как сделать редирект некоторых старых страниц сайта на новые.

    Классическая схема в .htaccess:
    Redirect /old/ http://www.site.ru/new/
    в diafan.CMS не работает

    Нужно делать так:

    В .htaccess после RewriteEngine on

    RewriteRule old http://site.ru/new/$1 [R=301,L]
  • 20 декабря 2010 г.
  • Это ж первый курс программирования в институте :)
    Перед циклом вывода товаров ставите
    Код
    echo "<table><tr><td>";
    $nnn=1;


    в цикле ставите после вывода товара:
    Код
    if ($nnn%3==0) echo "</td></tr><tr><td>"; else echo "</td><td>";
    $nnn++;


    После цикла ставите
    Код
    echo "</td></tr></table>";


    Поставите if ($nnn%2==0) - будет две колонки. if ($nnn%4==0) - четыре колонки. И т.д.
  • 17 марта 2011 г. , редакция: 1300323298
  • Все просто!
    Файл /modules/shop/shop.view.php
    функция first_page для первой страницы каталога (http://art-narod.ru/shop/) или функция list_ для списка (http://art-narod.ru/shop/cat11/)
    //товары в разделе
    Обратите внимание, открывается таблица
    Код
    echo '<table class="shop-block">';

    затем есть переменная $k=0;
    Если $k пустая, то выводится еще одна колонка: </td><td> и в конце переменная делается не пустой ($k=1-$k;). Тогда в очередной цикл она проверится и уже откроется новая строка.
    Код
    (!$k?'
    <tr valign="top">
    <td class="shop-td-first">'
    :'
    <td>'
    )

    В данном алгоритме $k - переключатель в двух положениях, либо пусто, либо нет. Поэтому две колонки.

    Поправьте $k, чтобы в конце цикла $k обнулялось когда доходит до 3 или 4. И закрывайте tr когда $k достигает 3 или 4. И все!
  • 18 марта 2011 г.
  • Постю не проверяя, должно работать
    Код

    //товары в категории
    if(! empty($cat["rows"]))
    {
    $k = 0;
    $m = 0;
    echo '
    <table class="shop-block">
    <tr valign="top">';
    foreach($cat["rows"] as $row)
    {
    echo '<td>'.
    ($m?'<hr>':'').'
    <div class="shop-img">';
    if(! empty($row["img"]["link"]))
    {
    echo '<a href="'.BASE_PATH_HREF.$row["img"]["link"].'">'.$row["img"]["tag"].'</a>';
    }
    elseif(! empty($row["img"]))
    {
    foreach($row["img"] as $img)
    {
    echo ' <a href="'.BASE_PATH_HREF.$img["link"].'">'.$img["tag"].'</a>';
    }
    }
    echo '</div>
    <div class="shop-name"><a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a> '.$row["show-rating"].'</div>
    <div class="shop-text">'.$row["anons"].'</div>'
    .($row["price"]?'
    <div class="shop-price">'._LANG_PRICE.': <span class="shop-price-value">'.$row["price"].'</span> <span class="shop-price-currency">'.$result["currency"].'</span></div>':'');
    self::form($row, $result);
    echo (!empty($row["tags"])?$row["tags"]:'').'</td>';
    if ($k>3) { echo '</tr><tr>'; $k=0; } else { $k++; }


    if($k)
    {
    $m=1;
    }

    }
    echo '</tr></table>';
    }

    }
    echo '
    </div>';
    }

    return TRUE;
    }
  • 19 марта 2011 г.
  • Это что-то напутали с фигурными скобками, значит
    Посчитайте, в функции количество открывающих скобок должно быть равно закрывающим.
    А тут
    Код
    echo '<td>'.
    ($m?'<hr>':'').'
    <div class="shop-img">';

    Уберите $m, пусть так вообще будет:
    Код
    echo '<td><div class="shop-img">';
  • 05 апреля 2011 г.
  • Ребята, давайте я один раз напишу принцип и вы будете его применять везде сами, как сильные программисты?
    В HTML есть такое понятие, как таблица:
    Код
    <table> - это таблица
    <tr> - это 1 строка
    <td></td> - это 1 колонка 1 строки
    <td></td> - это 2 колонка 1 строки
    </tr>
    <tr>
    - это 2 строка
    <td></td> - это 1 колонка 2 строки
    <td></td> - это 2 колонка 2 строки
    </tr>
    <tr>
    - это 3 строка
    <td></td> - это 1 колонка 3 строки
    <td></td> - это 2 колонка 3 строки
    </tr>
    </table>

    Видите принцип?
    По краям стоит <table></table>
    Каждая строка начинается и заканчивается <tr></tr>
    И внутри каждой строки есть колонки <td>содержимое</td>
    Т.е. у нас в таблице повторяются <tr></tr> - это строки в таблице, а в каждой строке повторяются по две колонки <td></td>.

    Соответственно, чтобы в РНР вывести таблицу надо сделать цикл:

    Код
    echo "<table>";
    цикл { //for или while или foreach
    echo "<tr><td></td><td></td></tr>";
    }
    echo "</table>";


    Понятно? Если будет цикл в 3 круга, этот код выведет таблицу с тремя строками и двумя колонками в каждой, как в примере выше.

    Или вложенный цикл:
    Код
    echo "<table>";
    foreach() {
    echo "<tr>";
    foreach() {
    echo "<td></td>";
    }
    echo "</tr>";
    }
    echo "</table>";


    Надеюсь, это понятно.

    Теперь: если у вас один цикл, в котором куча товаров выводятся подряд, один за одним:
    Код
    foreach {
    вывод товара;
    }
    и их надо вывести в две колонки, что надо сделать? Первым делом надо вывести снаружи цикла таблицу.
    Код
    <table>
    foreach {
    вывод товара;
    }
    </table>
    Почему снаружи, а не в цикле? Потому, что таблица одна будет.
    Теперь каждое содержимое цикла надо выводить в ячейке таблицы. Для этого надо вывести начало строки <tr> и начало колонки <td>. Затем вывести содержимое цикла и закрыть колонку и строку:
    Код
    <table>
    foreach {
    echo "<tr>";
    echo "<td>";
    вывод товара;
    echo "</td>";
    echo "</tr>";
    }
    </table>

    Этот цикл выведет товары в одну колонку, а нам надо в две.
    Т.е. надо <tr> <td>один товар</td> и еще раз <td>второй товар</td> </tr>
    Или другими словами в цикле надо первый раз вывести
    Код
    echo "<tr>";
    echo "<td>";
    вывод товара;
    echo "</td>";
    И второй раз вывести
    Код
    echo "<td>";
    вывод товара;
    echo "</td>";
    echo "</tr>";

    Затем то же самое снова:
    первая колонка - вторая
    первая-вторая
    первая-вторая
    и т.д.

    Для этого нам надо знать, какой товар по счету выводится, первый или второй. Введем любую переменную $pipka и будем ею считать колонки:
    Код
    <table>
    $pipka=0; //сделаем наш счетчик 0, чтобы понимать, что не выведено пока ничего и будет выводиться первая колонка
    foreach {
    if ($pipka==0) echo "<tr>";
    //т.е. выводим tr для первого раза, когда счетчик
    echo "<td>";
    вывод товара;
    echo "</td>";
    $pipka++; // делаем наш счетчик +1, потому, что товар вывели
    if ($pipka==2) { echo "</tr>"; $pipka=0; } // если первый товар выведен, то $pipka будет равна 1 и строка </tr> не закроется. А если уже второй раз цикл пройдется, то $pipka станет 2 и тогда </tr> закроется и $pipka станет 0, для очередного цикла. И тогда сработает первое условие if ($pipka==0) которое откроет новую строку.
    }
    </table>


    Таким образом цикл настрочит таблицу с кучей строк и с двумя колонками, в каждой из которых будет товар!

    Еще яснее объяснить не могу!
  • 06 апреля 2011 г.
  • Сколько времени... Много! С час точно.
    Но это уже третий раз только на форуме, когда спрашивают одно и тоже, только для разных в оформлении функций. Лучше потом сюда сослать и не отвечать, чем каждому править!
    Замечание... Если бы я еще про закрытие ячеек стал рассказывать, я бы завис еще на полчаса... Начинающим и так сойдет! Потом копнут, сами поправят!
  • 21 апреля 2011 г.
  • Ребят, надоело, честно. Это первый класс программирования. К diafan.CMS отношения прямого не имеет. Эта тема максимально информационна, проще рассказать я не могу. Если тему замусорить файлами "Сделайте мне", "И мне сделайте то же самое", "И мне", "И для меня" и так далее еще 50 человек одно и то же - несерьезно.
    Могу только посоветовать echo "1";
    Ставьте "методом тыка", смотрите: где выходит, сколько раз выходит, после чего выходит, делайте выводы.
    Если не можете разобраться с примитивным циклом одной вложенности, то лучше бросить программирование, заказать у программиста эту доработку за пару сотен рублей и пару минут и все.

Новости

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

Форум