• Почему смещаются div'ы при переносе строки?

    А в этой статье описано как с помощью костылей победить отступы в inline-block
    Ответ написан
    Комментировать
  • Session php. Скопировал страницу. Перестали работать переменные. Что это может быть?

    @andymitrich
    Software Developer
    Ну вы бы привели все-таки код, а то гадать не очень удобно - может, вы там забыли сессию стартовать или что-нить другое...
    Ответ написан
    Комментировать
  • Как установить запланированные задачи?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Можно через системный cron, можно через планировщик (events самого mysql), через крон банальность и инфы в гугле море, через планировщик - интересней:
    По умолчанию в большинстве версий MySQL планировщик отключен. Чтобы его включить добавьте event_scheduler = 1; в файл конфигурации MySQL. Для избежания перезапуска MySQL следует выполнить далее команду SET GLOBAL event_scheduler = ON;
    Затем создаем событие типа:
    DELIMITER $$
     
    CREATE EVENT IF NOT EXISTS `e_part_manage`
           ON SCHEDULE EVERY 30 DAY
           STARTS '2014-10-10 04:00:00'
           ON COMPLETION PRESERVE
           ENABLE
           COMMENT 'Управление удалением записей'
           DO BEGIN
    Тут можно как напрямую вставить команду удаления, так и использовать процедуру
           END$$
     
    DELIMITER ;

    Как-то так.
    Ответ написан
    1 комментарий
  • Как правильно настроить .htaccess?

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /file.php?go=$1 [L]
    Ответ написан
    1 комментарий
  • Как лучше создать структуру БД?

    KorsaR-ZN
    @KorsaR-ZN
    Ну это самый правильный вариант.
    Разве, что только author вынести в отдельную таблицу, в тех двух заместо author, сделать связь по author_id
    Ответ написан
    Комментировать
  • Какую CMS лучше использовать для данной задачи?

    Rema1ns
    @Rema1ns
    и так сойдет
    Вообще, под такую задачу подойдет любая цмс, которая может "хранить" пользователей, а еще лучше, если будет иметь компоненты типа профиля, а вот для задачи обмена или получения данных может и не хватить удобства цмс, и лучше вам воспользоваться фрейворком.

    Я бы поступил так, подумал, что сложнее будет сделать - личные кабинеты или получение данных.
    Если личные кабинеты сложнее, то цмс, иначе - фреймворк.

    Но это лично мое мнение. Я не большой специалист в друпале
    Ответ написан
    Комментировать
  • Можно ли адаптивно сверстать данный макет?

    soprun
    @soprun
    Software Architecture
    Ну вообще я тоже придерживаюсь мнения

    А ваш макет рожден быть фиксированным. Хотите адаптивный, то думайте об этом перед созданием дизайна.


    Однако можно и его адаптировать, но с дополнительным затрат времени.
    Под под планшеты можно сделать без особого геморроя.

    И если есть Возможность делайте редизайн! И не заморачивайтесь с адаптацией текущего макета.
    Ответ написан
    Комментировать
  • Можно ли адаптивно сверстать данный макет?

    viktorvsk
    @viktorvsk
    Не особо понимаю, что значит резиновый, но точно скажу, что адаптивность - это не задача верстальщика. Адаптивным может быть дизайн (верстка лишь инструмент адаптивного дизайна). Да и в адаптивном дизайне участие принимает не только дизайнер, а множество смежных профессий (конечно, не в масштабе абы-було)

    Что б сделать этот дизайн нужно много работы, не связанной с работой верстальщика. Это, как минимум, нужно сразу оговорить.
    Ответ написан
    Комментировать
  • Можно ли адаптивно сверстать данный макет?

    Kadi
    @Kadi
    веб-разработчик
    Адаптивный макет и резиновый - это разные вещи.
    А ваш макет рожден быть фиксированным. Хотите адаптивный, то думайте об этом перед созданием дизайна.
    Ответ написан
    1 комментарий
  • Можно ли адаптивно сверстать данный макет?

    Gasoid
    @Gasoid
    по идее если центральную часть сделать резиновую то можно
    картинку с хамелеоном надо большую, чтобы либо как фон сделать с катом или ресайз

    количество объявлений в строке тоже можно менять и менять отступы между ними
    Ответ написан
    1 комментарий
  • Можно ли адаптивно сверстать данный макет?

    baskerville42
    @baskerville42
    Учусь работать (Junior)
    Учитесь говорить с заказчиком. А этот макет будет Вам наукой на будщее, что такие вещи оговариваются еще на стадии рисования макета. Сделать из этого респонсив дизайн можно, но лёгкой задачей это не назовёшь. Да и вангую море жабаскрипта, для проверки разрешений экрана и перемещения блоков с одного места в другое. Фреймворками Вы тут уже себя не спасёте. Я бы постарался вразумить клиента или отправить макет на переделку.
    Ответ написан
    1 комментарий
  • Что переместить в модель Kohana?

    Учитывая, что в приведенном выше коде не используется query builder ни от Database ни от ORM (что одно и то же с точки зрения query builder, практически), то в модель ORM, которая наследуется от ORM - перемещать нечего.

    Проблема глубже - она в вашем понимании.
    Модель в бизнес логике это не только ORM и прочие способы доступа к БД и харнилищам, это полное описание бизнес логики.
    По сути classes в Кохане можно использовать для хранения иерархии просто классов, а папку Model для простых и ORM моделей.
    Вам надо логику перемещать в простые классы, которые следует создавать по соображениям сущности, которую реализует класс. Тогда будет иерархия классов, взаимодействие объектов, а в контроллере просто их вызов.

    Еще раз, главный посыл - модель это не только доступ в БД. :)

    В модели БД можно выносить кастомные sql запросы или какую-то пред или пост обработку данных.

    Почитайте про ООП и Паттерны.

    UPD.

    Отрефакторил код. Написал бы как-то так. У вас запутно все. У меня проще.
    <?php
    
    defined('SYSPATH') or die('No direct script access.');
    
    class Controller_Products extends Controller_Base
    {
    
        public function action_index()
        {
            // пагинация
            $count      = ORM::factory('product')->count_all();
            $pagination = Pagination::factory(array('total_items' => $count));
            $products   = ORM::factory('product')
                    ->limit($pagination->items_per_page)
                    ->offset($pagination->offset)
                    ->find_all();
    
            $content = View::factory('prodAll')
                    ->set('products', $products);
    
            //используется в шаблоне?
            $content->pagination = $pagination;
    
            $this->template->title       = 'Все товары';
            $this->template->description = 'Список всех товаров';
            $this->template->content     = $content;
        }
    
        public function action_cart()
        {
    
            $content = View::factory('cartView');
    
            $content->inCart = FALSE;
            $content->inCart = $this->session->get('product2');
    
            $this->template->title       = 'Корзина покупок';
            $this->template->description = 'Список ваших товаров';
            $this->template->content     = $content;
        }
    
        public function action_product()
        {
            //узнаем id материала
            $id   = $this->request->param('id');
            $post = $this->request->post();
    
            // получаем данные из таблицы "products"
            $product = ORM::factory('product', $id);
            $content = View::factory('prodView')
                    ->set('product', $product);
    
            $this->template->title   = $product->title;
            $this->template->content = $content;
            $content->inCart         = FALSE;
    
            if (isset($post['Submit'])) {
                $this->processOrder($post, $product);
    
                Controller::redirect('main/ordered');
            }
    
            if (isset($post['InCart'])) {
                $this->session->set('product2', $product->name);
            }
        }
    
        /**
         * 
         * @param array $post
         * @param Model_Product $product
         */
        protected function processOrder($post, $product)
        {
            $clientName   = Arr::get($post, 'Name', '');
            $clientPhone  = Arr::get($post, 'Phone', '');
            $clientAdress = Arr::get($post, 'Adress', '');
            $orderNumber  = Arr::get($post, 'Number', '');
    
            $post = array(
                'name'          => $product->name,
                'number'        => $orderNumber,
                'url'           => $product->url,
                'client_name'   => $clientName,
                'client_phone'  => $clientPhone,
                'client_adress' => $clientAdress
            );
    
            ORM::factory('order')
                    ->values($post)
                    ->save();
        }
    
    }
    Ответ написан
    7 комментариев
  • Как сделать выборку записей MySQL без последних трех?

    @vdem
    А зачем? Получаете выборку всех записей, и уже в приложении отбрасываете последние три. IMHO нагрузка на сервер БД будет намного меньше.
    Ответ написан
    4 комментария
  • Как сделать выборку записей MySQL без последних трех?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Последние 3 записи
    SELECT * FROM ... ORDER BY id DESC limit 3
    Все записи кроме этих 3х
    SELECT * FROM ... 
    WHERE ID NOT IN (SELECT * FROM ... ORDER BY id DESC limit 3)

    Вместо подзапроса можно написать конкретные id.

    Вообще это плохой способ, т.к NOT IN не использует индекс.
    2й запрос в Вашем конкретном случае лучше написать
    SELECT * FROM ... ORDER BY id DESC limit 3, 100000
    Ответ написан
    1 комментарий
  • Как правильно настроить роутер для модуля пагинации в Kohana?

    rdifb0
    @rdifb0
    Программист, реалист
    Ссылки пустые, потому что построения ссылок берется текущий Route. У вас текущий default, потому что подходит под любые ссылки которые состоят из 3х сегментов; и вообще он самый последний должен быть.
    Плюс роуты у вас составлены странно, там есть 3 нюанса 1. <переменная> 2. (того что в скобке может не быть) 3. все остальное просто как есть
    Ответ написан
    3 комментария
  • Как понять принципы ООП?

    onqu
    @onqu
    weasy
    Чтобы понять принципы ООП, книги не требуются. Взгляните вокруг себя. Всмотритесь в любой объект в реальном мире, опишите его наиболее подробно (материал, размер, цвет, вес, плотность, составные части и т.д.), это будут его свойства. Опишите, что и каким образом этот объект умеет делать (включаться, складываться, кушать электроэнергию, взаимодействовать с другими объектами или окружающей средой и т.д.), это будут его методы. Подумайте, для чего используется этот объект, что ему нужно изменить или добавить, чтобы использовать в других условиях или целях, и на основе всех собранных знаний создать более удобный экземпляр, это будет наследование и полиморфизм. Теперь немедленно забудьте обо всем, используйте объект по назначению, это будет инкапсуляция. Дальше останутся только тонкости выбранного Вами языка, шаблоны, методологии и прочаяие ересь тренды.
    Ответ написан
    2 комментария
  • Доменная зона .io — что я пропустил?

    Один из омонимичных доменов:

    .am — национальный домен Республики Армения, созвучен с диапазоном радиостанций AM или как зона AMerica.
    .cd — национальный домен Демократической республики Конго (иначе — Заира), совпадает с сокращением для компакт-диска.
    .dj — национальный домен Джибути, совпадает с сокращением «диджей».
    .fm — национальный домен Федеративных Штатов Микронезии, созвучен с диапазоном радиостанций FM. Пример: last.fm.
    .im — национальный домен Острова Мэн. Совпадает с сокращением Instant Messaging («мгновенные сообщения»).
    .io — национальный домен Британских территорий в Индийском океане. Совпадает с сокращением Input Output («ввод/вывод»).
    .is — национальный домен Исландии. Совпадает со словом is, формой третьего лица единственного числа английского глагола to be. Пример: who.is
    .it — национальный домен Италии. Совпадает с сокращением IT (информационные технологии), а также с английским местоимением it («это»). Пример: ok.undo.it
    .md — национальный домен Молдавии. Совпадает с сокращением аудионосителя MiniDisc и с сокращением Must Die. Также совпадает с сокращением от англ. medical doctor, используемым повсеместно в англоязычных странах. Например, известный американский сериал «Доктор Хаус» в оригинале называется House, MD.
    .me — национальный домен Черногории. Совпадает с местоимением «меня», «мне» в английском и других европейских языках.
    .net — общий домен верхнего уровня, совпадает с русским словом «нет», из-за чего обрёл в России (и не только) дополнительную популярность. Часто используется с доменными именами в виде транслитерированных русских слов. Примеры: mozga.net, lishnih.net.
    .nu — национальный домен острова Ниуэ, созвучно со словом ню.
    .tm — национальный домен Туркменистана, совпадает с аббревиатурой «™» (англ. trade mark — торговая марка).
    .tv — национальный домен Тувалу, совпадает с аббревиатурой «Телевидение».
    .ws — национальный домен Западного Самоа, совпадает с аббревиатурой Web Site.
    .in — национальный домен Индии, с английского языка переводится как предлог «в».
    .li — национальный домен Лихтенштейна. Совпадает с окончанием глаголов и имён существительных в русском языке. Используется с доменными именами в виде транслитерированных русских слов. Примеры: zadolba.li, zastuka.li, vaf.li, gus.li, yas.li.
    .pro - общий домен верхнего уровня для профессионалов в своей области.
    Ответ написан
    3 комментария
  • Пиксельная линейка у Chrome?

    toptalo
    @toptalo
    undefined
    Ага нововведение, но удобства в ней не вижу
    Ответ написан
    Комментировать