Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > WWW - Готовые движки > Общие вопросы по CMS движкам


Автор: dion_86 18.07.14, 18:07
Здравствуйте.
На работе дали задание определить на какую почту отправляется заявка.
uatrade
На этой странице есть форма отправки. Надо узнать куда отправляется заявка.
Сайт написан на друпале.
Через "исследовать элемент" нашел вот такие вот строки в этой форме
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <form class="block1_form" method="post" action="/#order_landing">
     
        <input class="block1_form_button_name" type="text" placeholder="Введите свое имя..." name="name" required="required"></input>
        <br></br>
        <input class="block1_form_button_phone" type="text" placeholder="+38 (___)___-__-__" name="phone" required="required"></input>
        <br></br>
        <input class="check" type="hidden" value="" name="check"></input>
        <button class="button_send" name="order_landing" onclick="$('.check').val('secretcode');">
     
            Отправить
     
        </button>
     
    </form>

В принципе как бы я представляю что дальше делать но с друпалом я еще не работал.
Как мне найти код который связан с этой строкой
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <button class="button_send" name="order_landing" onclick="$('.check').val('secretcode');">

Вроде бы DoubleCommander может искать строки в указанных каталогах с файлами. Так я делал с Joomla. Пытался через FileZilla не вышло, по моему он только ищет названия фалов а их содержимое не осматривает.
С друпалом такое можно проделать?
Или как лучше. Может вы знаете правильный ход решения?



А второй вопрос мне верстальщик сверстает макет. И я должен буду эту верстку вставить в Joomla. Вроде в нете говорят про Artisteer. Есть он для Линукс.

Автор: orb 18.07.14, 18:21
Цитата dion_86 @
Надо узнать куда отправляется заявка

эта инфа на стороне сервера должна быть.
Вы кликаете на форму, форма уходит на сервер - сервер проверяет все ли корректно и в случае успеха отправляет куда надо

Добавлено
А вы уверены что это друпал?
Есть подозрение что главная не на друпале, а друпал дальше для кабинета испольузется

Добавлено
если это Друпал, то разработчикам нужно вырвать руки все кривое

Автор: dion_86 18.07.14, 18:29
2ip.ru показал по адресу http://uatrade.net/ что это друпал
а по адресу http://landing.uatrade.net/ ничего не показал
А форма находится на http://landing.uatrade.net/

Автор: orb 18.07.14, 18:31
Цитата dion_86 @
2ip.ru показал

подтверждаю

Автор: domencom 18.07.14, 19:28
Цитата dion_86 @
Как мне найти код который связан с этой строкой

Охо-хо. Ну попробуй в IDE по названиям полей: name, phone.
Цитата dion_86 @
Вроде в нете говорят про Artisteer.

Ручками, ручками. Да, надо знать версию, изучить основы джумлы - ту часть где про создание "тем" или как оно там называется в очередной версии. А вообще на саппорте не задерживайся, лучше как орб - изучи одну cms и делай все на ней, (дальше не про орб-а :D ) прокачивая скилл на фреймворке, и иди юниором на проект с фреймворком.

Автор: dion_86 18.07.14, 19:40
Другой работы пока не нашел
Видимо если все получится, я отработаю там где-то год. Изучу к тому моменту NodeJS, ООП, а может и Yii или какой нибудь другой фреймворк. И пойду дальше вверх в другую компанию. Скорее всего будет так.

Автор: dion_86 18.07.14, 20:42
Цитата domencom @
Цитата dion_86 @
Как мне найти код который связан с этой строкой

Охо-хо. Ну попробуй в IDE по названиям полей: name, phone.

domencom спасибо за подсказку, когда-то я выбрал Netbeans. Теперь я на нем и буду искать.

Автор: orb 19.07.14, 14:11
Цитата dion_86 @
Изучу к тому моменту NodeJS, ООП, а может и Yii или какой нибудь другой фреймворк

главное вечно не метайся среди технологий, а то вечным джуниром будешь.
Лучше выбери одно и изучи основательно, например, Друпал, как раз и повод есть.

Автор: dion_86 21.07.14, 17:04
orb ты не в курсе где есть полезные ссылки на разьяснение как устанавливать на друпал 7 бекап сайта. Весит он от 223 мб. Модуль друпала загружает бекапы весом до 200 мб. Как я понимаю это нужно делать вручную.

Автор: orb 21.07.14, 18:11
Цитата dion_86 @
Весит он от 223 мб

зайти в консольку

Автор: dion_86 21.07.14, 18:19
orb я не выспался и вместо зеленого плюсика случайно нажал красный. Извини что понизил рейтинг.
Хотел сказать большое спасибо.

Автор: orb 21.07.14, 18:56
да, не вопрос :)

Автор: dion_86 21.07.14, 19:50
Цитата
Error message
Notice: Undefined index: files in theme_backup_migrate_file_list() (line 954 of /var/www/drupal7/sites/all/modules/backup_migrate/backup_migrate.module).

Автор: orb 22.07.14, 05:26
Notice - это нужно смотреть, чаще всего переменная не объявлена заранее или индекс.

Автор: dion_86 22.07.14, 06:38
через консоль не получилось
Что если просто скопировать файлы сайта на другой хостинг, и восстановить БД из дампа. Потом прописать в settings.php то что нужно относительно новой БД.

Решился вопрос этим методом. Установил на локалхосте.

Автор: dion_86 22.07.14, 09:20
Осталось только найти где располагается в друпале html код. Знаю что в 1С Битрикс почти все хранится в БД.

Автор: dion_86 22.07.14, 13:03
Цитата

Указанный файл temporary://fileYiT4A0 не может быть скопирован из-за неправильных настроек каталога назначения. Это может быть связано с правами на файл или каталог. Более подробная информация находится в системном журнале.
Указанный файл temporary://fileSXPi61 не может быть скопирован из-за неправильных настроек каталога назначения. Это может быть связано с правами на файл или каталог. Более подробная информация находится в системном журнале.

Автор: dion_86 22.07.14, 14:02
orb можно один скромный вопрос.
Как подключать файлы js?
Делаю это в templeate.php через drupal_add_js(), пытаюсь прописывать разные пути.
Как это сделать правильно.
Вот путь к папке с JS /var/www/uatradeloc/www.uatrade.net/sites/all/themes/uatrade/js, а это путь к файлу templeate.php /var/www/uatradeloc/www.uatrade.net/sites/all/themes/uatrade/template.php

Добавлено
Сижу здесь на саппорте и никто нечему не учит. Рядом сидит такой же начинающий коллега. Все.
И мне кажется - он друпал и то лучше меня знает.

Автор: orb 22.07.14, 14:48
Цитата dion_86 @
Вот путь к папке с JS /var/www/uatradeloc/www.uatrade.net/sites/all/themes/uatrade/js


Цитата dion_86 @
Осталось только найти где располагается в друпале html код

смотря какой код:

Автор: dion_86 22.07.14, 15:01
я в templeate.php вставил вот такую вот строку
Цитата
drupal_add_js(path_to_theme() . '/js/den_calck.js');

не работает.

Автор: orb 22.07.14, 15:18
scripts[] = js/script.js
и сбрось кеш

Автор: dion_86 22.07.14, 16:21
спасибо завтра попробую на работе сделать

Добавлено
Цитата orb @
scripts[] = js/script.js

я смотрю что перед scripts нет $ , а $ касается php.
Ты имеешь в виду что этот массив создается не в template.php?

Автор: orb 22.07.14, 16:57
Это *.info файл, по ссылке что я скинул есть 3 способа подключения JS, там все расписано

Автор: dion_86 22.07.14, 17:13
спасибо

Автор: dion_86 23.07.14, 09:28
orb я подключил файлы js к своему drupalu. Но он не корректно работает. Лазил по статьям и вроде увидел что для друпала есть какието правила программирования по javascript.
Это так?
На локалхосте не в друпале этот js скрипт работает и все нормально, а в друпале не совсем.
вот код js
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    window.onload = function slider(elemId, sliderWidth, range1, range2, step) {
    var runnerWidth = 15;             // ширина и высота бегунка
    var runnerHeight = 23;            // изменяются в зависимости от используемых изображений
    var sliderHeight = 20;          // высота slider'а
     
    window['d'] = document;
     
    var offsX,tmp;                  // вспомагательные переменные
    var isIE = d.all || window.opera;   // определяем модель DOM
    var point = (sliderWidth-runnerWidth-3)/(range2-range1);
    // point - количество пикселей на единицу значения
     
    var slider = d.createElement('DIV'); // создаем slider
    slider.id = elemId + '_slider';
    slider.className = 'slider';
    d.getElementById(elemId).appendChild(slider);  
     
    var runner = d.createElement('DIV');  // создаем ползунок
    runner.id = elemId + '_runner';
    runner.className = 'runner';
    slider.appendChild(runner); // добавляем его в документ
     
    runner.style.left = 0;            // бегунок в нулевое значение
    runner.style.width = runnerWidth+'px';
    runner.style.height = runnerHeight+'px';
    slider.style.width = sliderWidth+'px';
    slider.style.height = sliderHeight+'px';
     
    var sliderOffset = slider.offsetLeft;       // sliderOffset - абсолютное смещение slider'а
    tmp = slider.offsetParent;      // от левого края в пикселях (в IE не работает)
    while(tmp.tagName != 'BODY') {
    sliderOffset += tmp.offsetLeft;     // тут его и находим
    tmp = tmp.offsetParent;
    }
     
    if(isIE)                        // в зависимости от модели DOM
    {                               // назначаем слушателей событий
    runner.onmousedown = startCoord;    
    slider.onclick = sliderClick;      
    runner.onmouseup = endCoord;    
    slider.onmouseup = endCoord;          
    }
    else {
    runner.addEventListener("mousedown", startCoord, true);      
    slider.addEventListener("click", sliderClick, true);      
    runner.addEventListener("mouseup", endCoord, true);  
    slider.addEventListener("mouseup", endCoord, true);
    }
     
     
    //////////////////// функции установки/получения значения //////////////////////////
     
    function setValue(x)    // установка по пикселям
    {
    if(x < 0) runner.style.left = 0;
    else if(x > sliderWidth-runnerWidth-3) runner.style.left = (sliderWidth-3-runnerWidth)+'px';
    else {
    if(step == 0) runner.style.left = x+'px';        
    else runner.style.left = Math.round(x/(step*point))*step*point+'px';
    }
    d.getElementById('info').value = getValue();    // это вывод значения для примера
    }
    function setValue2(x)   // установка по значению
    {
    if(x < range1 || x > range2) alert('Value is not included into a slider range!');
    else setValue((x-range1)*point);
     
    d.getElementById('info').value = getValue();
    }
     
    function getValue()
    {
        var id_runner = document.getElementById(elemId + '_runner');
        var id_slider = document.getElementById(elemId + '_slider');
        
        var coor_runner = id_runner.getBoundingClientRect();
        var coor_slider = id_slider.getBoundingClientRect();
     
        
        if(elemId == 'sl1') {
             var val1 = d.getElementById('val1');
             val1.value = Math.round(parseInt(runner.style.left)/point)+range1;
             val1.innerHTML = val1.value;
             //желаемое количесвто посетителей в день
             window['val_sl1'] = val1.value;
             var sldim1 = document.getElementById('sldim1');
             sldim1.style.width = coor_runner.right - coor_slider.left - runnerWidth + "px";
     
        }
        if(elemId == 'sl2') {
             var val2 = d.getElementById('val2');
             val2.value = Math.round(parseInt(runner.style.left)/point)+range1;
             val2.innerHTML = val2.value;
             //конверсия вашего сайта
             window['val_sl2'] = val2.value;
             var sldim2 = document.getElementById('sldim2');
             sldim2.style.width = coor_runner.right - coor_slider.left - runnerWidth + "px";
        }
     
    }
     
     
     
    //////////////////////////////// слушатели событий ////////////////////////////////////
     
    function sliderClick(e) {  
    var x;
    if(isIE) {
    if(event.srcElement != slider) return; //IE onclick bug
    x = event.offsetX - Math.round(runnerWidth/2);
    }  
    else x = e.pageX-sliderOffset-runnerWidth/2;
    setValue(x);
    }
     
    function startCoord(e) {              
    if(isIE) {
    offsX = event.clientX - parseInt(runner.style.left);
    slider.onmousemove = mov;
    }
    else {            
    slider.addEventListener("mousemove", mov, true);
    }
    }
     
    function mov(e) {
    var x;
    if(isIE) x = event.clientX-offsX;
    else x = e.pageX-sliderOffset-runnerWidth/2;
    setValue(x);
    }
     
    function endCoord() {
    if(isIE) slider.onmousemove = null;
    else slider.removeEventListener("mousemove", mov, true);
    }
     
    this.setValue = setValue2;
    this.getValue = getValue;
    }
     
    var mysl1 = new slider('sl1', 317, 0, 1000, 0);
    var mysl2 = new slider('sl2', 317, 0, 10, 0);
     
    mysl1.getValue1();
    mysl2.getValue2();


<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    function too() {
        var cost = d.getElementById("cost").value;
        var conv = d.getElementById("conv").value;
        // проверка на правильностиь ввода данных
        var regexp = /[^0-9]/;
     
        if(cost.match(regexp) || conv.match(regexp) || cost == false || conv == false) {
     
            alert("Вы ввели не все или не верные данные. Убедитесь что у вас нет пробелов."+
                        "Повторите пожалуйста попытку");
     
            
        } if((cost != false && conv != false) && (!cost.match(regexp) && !conv.match(regexp)) ) {  
                // Цена за посетителя
                window['costPer'] = parseInt(cost);
                // Средняя прибыль с клиента
                window['averageProfit'] = parseInt(conv);
                getIncomeExpenses();
        }
        
    }
     
     
    // Подсчет заработка и затрат
    function getIncomeExpenses() {
     
    // заработок в следующем месяце
    var income = (val_sl1*val_sl2*averageProfit*20)/100;
    // затраты в месяц
    var expenses = val_sl1*costPer*20;
     
    var elem1 = d.getElementById("elem1");
    var elem2 = d.getElementById("elem2");
    elem1.innerHTML = income;
    elem2.innerHTML = expenses;
     
    }

Есть какие-то особые правила работы с формами в друпале? Пользователь вводит в два поля значения, потом js их использует и делает подсчет. В друпале это не работает.

Автор: orb 23.07.14, 14:46
Цитата dion_86 @
увидел что для друпала есть какието правила программирования по javascript.

а ты мои посты читаешь? :)

Автор: dion_86 30.07.14, 14:29
orb здравствуй. Не подскажешь как продублировать блок на все страницы
Вот у меня есть блок с контактами в шапке http://partner-bc.com/node
Цитата

Наши контакты
Бизнес-центр Partner
Украина, г. Одесса,
ул. Средняя, 83/2
+38 048 734-30-02

надо продублировать его на все оставшиеся страницы.
Подвожу к нему в верхний правый угол курсор и выпадает "Настроить блок". Захожу туда и внизу вижу поле "Настройки видимости" в нем "Показывать блок на определенных страницах" выбираю чекбокс
" Только на перечисленных страницах " и в поле внизу пишу
partner-bc.com/*
блок исчезает на всех страницах.
Как сделать так чтобы блок появлялся на всех страницах?
Заранее спасибо за ответ
:)

Автор: orb 30.07.14, 15:53
Цитата dion_86 @
" Только на перечисленных страницах " и в поле внизу пишу
partner-bc.com/*

Если изначально там ничего не заполнять он везде доступен :)

Автор: dion_86 30.07.14, 22:13
Завтра попробую так сделать.
Спасибо.

Автор: Serafim 31.07.14, 12:43
оффтоп
orb, dion_86 скоро у тебя в рейтинге переполнит стек смайликов :D

Автор: orb 31.07.14, 15:10
:lol:

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)