Ответы пользователя по тегу Drupal
  • Как реализовать на сайте электронную форму?

    AlexFreem
    @AlexFreem
    addicted
    Сразу скажу что это скорее не ответ на вопрос а просто личный опыт.
    В своё время была похожая задача. Ничего не нашёл и писал форму сам. Плюсом являлось то что для формы я мог назначить либо количество кнопок и соответственно каких то действий на них ( Сохранить как PDF, Сохранить как Excel - файл, и т.д. ) просто оперируя имеющимися данными.
    Да и просто писать сам люблю.
    Ответ написан
    Комментировать
  • Как передать в URL GET с пробелами?

    AlexFreem
    @AlexFreem
    addicted
    Пробелы успешно заменяются комбинацией символов "%20" что эквивалентно пробелу.
    Далее друпал может обработать get-параметры при помощи функции drupal_get_query_parameters

    Пример:
    Обрабатываем запрос вида mysite.com/page?arg=text%20text
    $get_params = drupal_get_query_parameters();
    echo $get_params['arg'];

    Вернет нам "text text".
    Ответ написан
    Комментировать
  • Что такое "Zen Grids" и как этим пользоваться?

    AlexFreem
    @AlexFreem
    addicted
    Zen Grid используют Sass и Compass
    Сетки нужны не только для ровного расположения блоков но еще и для создания адаптивных дизайнов.
    Как этим пользоваться? Пишите классы для блоков и стилизуете их с помощью методов Zen Grid. Например так:
    @import "zen"; // Импортируем 
    $zen-column-count: 7; // Указываем количество колонок
    $zen-gutter-width: 10px; // Указываем ширину отступов между колонками.
    
    .content {
     @include zen-grid-item(4, 3); // Для региона с классом контент указываем что он должен занимать 4 колонки и распологаться начиная с третьей.
    }


    В дальнейшем мы получаем адаптивную верстку не прилогая особых усилий. Ширина региона будет автоматически меняться в зависимости от ширины окна браузера. Расположение регионов так же. Ну вообще дальше гуглите что такое адаптивная верстка.

    Если в чем то не прав - думаю в комментариях меня поправят.
    Ответ написан
  • Чем лучше отлаживать Drupal?

    AlexFreem
    @AlexFreem
    addicted
    Модуль Devel и его метод dpm
    Ответ написан
    Комментировать
  • Кто знает как сделать этот программный фильтр для Views?

    AlexFreem
    @AlexFreem
    addicted
    Я заранее предупреждаю что отвечаю не поставленный вопрос. Решение чисто кодом а не для Views. Но возможно кому то пригодится.

    $searchString = "Хлеб Очки";
    $searchArrray = explode(" ",$searchString);
    $searchNids = array();
    foreach($searchArray => $itemTitle) {
      $query = new EntityFieldQuery();
      $query->entityCondition('entity_type','node')
        ->entityCondition('bundle','YOUR_NODE_TYPE')
        ->propertyCondition('title', $itemTitle ,'LIKE')
        ->fieldOrderBy('field_PRICE','value','ASC')
        ->range(0,1);
      $result = $query->execute();
    
      if(!empty($result['node'])){
        $searchNids[] = array_keys($result['node']);
      }
    })


    В конечно итоге в массиве searchNids буду храниться ID нужных вам нод. С минимальной ценой и в единственном числе. Только их еще загружать придется через node_load_multiple();

    Как то так. Если не прав - прошу поправить.
    Ответ написан
    Комментировать
  • Каким образом после редиректа, созданного через Rules (Destination), вывести сообщение?

    AlexFreem
    @AlexFreem
    addicted
    Попробуйте к этому же правилу рулеса которое добавляет редирект добавить еще и экшн вывода сообщения на сайте. А уже в своем сообщении вы можете написать что угодно. Ну и само собой порядок должен быть типа "сначала редирект, потом показ сообщения".
    Ответ написан
  • Как добавить филд в форму регистрации програмно?

    AlexFreem
    @AlexFreem
    addicted
    function yourmodulename_form_alter(&$form, &$form_state, $form_id) {
        if ($form_id == 'user_register_form') {
            $form['newfield'] = array(
                '#type' => 'textfield',
                '#title' => t('Sample field')
            );
        }
    }


    А вот по поводу сохранять - это уже другой вопрос. Зависит от того куда сохранять и в каком виде. Можно же делать связку с полями какими то у создаваемого пользователя. Конкретизируйте вопрос.
    Ответ написан
  • Как в скрипте JS прописать условие отбора элемента (Drupal 6)?

    AlexFreem
    @AlexFreem
    addicted
    А зачем вы атрибут rel приписываете скриптом?
    Есть замечательный модуль Image Resize Filter
    В его настройках можно установить что если изображение добавленное через WYSIWYG было масштабированно - приписывать к нему любой класс или/и атрибут rel.

    В итоге весь код скрипта у вас сведётся к следующему:
    jQuery('a[rel="gal"]').colorbox();

    Сам использую в связке с nivoLightbox и Lightbox2. Никаких нареканий.
    Плюсом такого метода явлется преобработка изображений на уровне php. В вашем же случае это постобработка на уровне javascript.
    Ответ написан
    Комментировать
  • Как правильно вывести поле в Drupal 7?

    AlexFreem
    @AlexFreem
    addicted
    print drupal_render(field_view_field('user',$user_data,'field_userphoto',array()));


    Если нужно поле без заголовка ( label ) - последним параметром передается не пустой array а array('label' => 'hidden');
    Ответ написан
    1 комментарий
  • Как сделать такой фильтр на Drupal?

    AlexFreem
    @AlexFreem
    addicted
    Если вы поменяете значения фильтров и нажмете "Найти" то заметите что в адресной строке появились параметры.

    Далее эти параметры можно использовать в раскрытых фильтрах модуля Views

    Ну или если любите писать руками ( как я в одном из проектов ) то можно:
    1) Получить эти параметры при помощи функции drupal_get_query_parameters();
    2) Использовать каждый параметр при выборке нод с использованием класс entityFieldQuery();
    В таком случае каждый параметр можно использовать при помощи ->fieldCondition.
    Как это работает читайте тут
    Ответ написан
    Комментировать
  • Как программно вывести форму из модуля в Drupal7?

    AlexFreem
    @AlexFreem
    addicted
    Я случайно не для вас вчера эту задачу выполнял? :)

    print drupal_render(drupal_get_form('basic_cart_cart_form'));
    Ответ написан
  • Как правильно настроить ноду на Drupal?

    AlexFreem
    @AlexFreem
    addicted
    Ошибки в программной части вывода ноды нет. Все же выводится. А вот второй слайд залезает над первым потому что слайдер не отрабатывает. Не прячет нужное. Не выстраивает их нужным образом. Т.е. надо копать в сторону js и css как говорилось выше.

    Возможно слайдер не цепляется к классам ( item, m-slider, sliderBox ) или что-то еще. С выводом проблем нет. Все выводится же
    Ответ написан
    Комментировать
  • Как правильно настроить свою тему для drupal?

    AlexFreem
    @AlexFreem
    addicted
    Создаете блок. Можно вручную. Можно при помощи views ( для него есть куча модулей слайдеров ). В настройках блоков указываете в каком регионе должен выводиться блок.
    Ответ написан
    Комментировать
  • Как и с чего необходимо начинать изучение Drupal чтобы стать профессионалом в веб-разработке?

    AlexFreem
    @AlexFreem
    addicted
    Поделюсь своей историей т.к. она на мой взгляд идеально подходит для ответа на тему вопроса ( за исключением того что я пока даже не думал начинать считать себя профессионалом )

    Моё изучение данной cms началось с того что я зная элементарные основы php ( и не пригодившийся в плане работы в дальнейшем ActionScript3 ) пришел работать в фирму которой на тот момент очень нужен был разработчик. Все проекты фирмы делались на Друпале.

    А дальше сразу в бой. На второй день моей работы мне дали давно ждавший своего разработчика, тяжеленный по объему работы ( конечно оценка давалась на тот момент соотносительно моим знаниям в области разработки :) ) проект. И главным плюсом в той ситуации в плане развития меня как drupal-разработчика было то, что это уже стало моей работой а не домашним хобби от которого можно в любой момент отказаться. Умею я что то , или нет - делать надо.

    И тут на помощь пришли htmlbook.ru, drupal.ru, drupal.org и stackoverflow.com которые я нещадно гуглил по любым непонятным мне вопросам.

    В итоге проект был сдан. Cейчас глядя на него я делаю нехилый facepalm.
    Но опять же проявился очередной плюс того что я работал в фирме. Через пару часов после сдачи первого проекта - мне повесили в разработку второй проект.

    На этот раз пришлось копать javascript/jQuery.
    В третьем проекте я столкнулся с CSS.

    Я не хочу сказать что это всё обязательно, чтобы знать Drupal. Но помогает сильно.
    Если уверены что будете развиваться именно в плане Drupal - обзаводитесь книжкой.
    У нас в офисе она до сих пор лежит как настольное руководство для всех вновь приходящих.

    Копайте php.net/manual/ru и api.drupal.org. Читайте статьи блоггеров, таких как xandeadx.ru ( а может и моей если я когда нибудь найду время его допилить и заняться контентом :D ).

    Подводя итог всему вышеописанному я могу выделить 2 основых задачи для вас в плане развития как Drupal-разработчика, так и вообще web-developer'а:
    - Ищите себе как можно больше проектов чтобы постоянно быть в работе.
    - Постоянно развивайте свой кругозор и свои познания. Здесь нет предела совершенству.
    Ответ написан
    Комментировать
  • Как сделать кнопки "вперед-назад" для сайта портфолио?

    AlexFreem
    @AlexFreem
    addicted
    Как вариант и наиболее быстрое решение - вы можете использовать базовый функционал модуля Views

    Решение простое на мой взгляд. Делаем представление, в нем указываем все поля которые хотим отображать на странице. Там это всё удобно. Потом устанавливаем настройки показала - с использованием пагинации ( её потом тоже можно достилизовать ), и выводим по 1 материалу на страницу. И в последнюю очередь включаем AJAX в настройках представления. Всё легко и просто :)

    Но учтите что это обходное решение. Если же вам требуется грамотный и рабочий функционал то придется немного пописать код на AJAX + HTML5History ( как упоминалось выше ). AJAX для загрузки страниц, а хистори для навигации. Больше рукописного кода.
    Ответ написан
  • Как добавить атрибут к input webform drupal 7?

    AlexFreem
    @AlexFreem
    addicted
    Используя hook_form_alter

    $form['input-name']['#attributes'] = array('readonly' => 'readonly');

    Ну или
    $form['input-name']['#disabled'] = TRUE;
    Ответ написан
    Комментировать