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

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

  • 17 марта 2021 г. , редакция: 1616001997
  • Цитата
    Другой вопрос зачем оно вам - это да, было бы зачем

    Зачем?... Думаю другие партнеры знают ответ.

    Вот бы такие комментарии на битрикс увидеть, было бы интересно наблюдать)
  • 25 ноября 2016 г.
  • Добрый день!
    Создал новый файл с функцией, в котором содержится шаблонный тег вызова похожих товаров.
    При обращение к файлу через шаблон все выводится, но если я обращаюсь к файлу с файла JS посредством AJAX, то ничего не выводится.
    И заметил сл. при обращении к файлу через JS, в нем функции перестают работать, конкретно у меня не выводился результат запроса в базу, пришлось писать запрос без помощи внутренних функций диафана с новым подключением в базу и все заработало.

    Надеюсь суть вопроса ясна.
    Спасибо.
  • 26 ноября 2016 г. , редакция: 1480167204
  • Ну Вы жгете конечно))))

    Цитата
    И заметил сл. при обращении к файлу через JS, в нем функции перестают работать
    Это говорит только об одном - в скрипте ОШИБКА. Особенность javascript в том, что если возникает ошибка, подключенный скрипт становиться не рабочим. Решение: открываем консоль браузера и смотрим, где ошибка. Далее исправляем ее.


    Перестают работать внутренние функции диафана, поэтому и пришлось делать через грабли))

    Цитата
    пришлось писать запрос без помощи внутренних функций диафана с новым подключением в базу и все заработало
    Здесь на форуме часто употребляют слово "грабли". Я пытался выяснить, что эти люди подразумевают. С их слов, этим словом можно назвать практически любую доработку алгоритма. Так вот, лично я считаю, что именно Ваше решение можно назвать "граблями". Поясню. Если Вы пишите код на основе чего-либо, то Ваш код должен максимально соответствовать этой основе. Ну да ладно, как говорит электрик: "Если что-то работает, то не надо в это что-то лезть". Так что если считаете, что задача решена - значит все здорово.
    Успехов.


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


    Поясню еще раз.

    Допустим возьмем шаблонный тег <insert name="show_block" module="shop"> и вызовем его в файле темы.
    В итоге у нас выведутся товары.

    А теперь возьмем этот шаблонный тег и вставим его в файл, который будет вызываться JS (AJAX), ничего не выведится.
    Но если написать в этом файле "echo 'Тест';" то код сработает и выведится "Тест"
  • 27 ноября 2016 г. , редакция: 1480250081
  • По всякому пробовал
    Код
    echo $this->diafan->_tpl->htmleditor('<insert name="show_block_rel" module="shop" count="4" images="1" shop_id="347">');


    Код
    echo $this->diafan->_tpl->htmleditor('<insert name="show_block_rel" module="shop" count="4" images="1" shop_id="'.$id.'">');


    и оба варианта без diafan->_tpl-> также попробовал

    Атрибута shop_id не должно быть, но в моем случае я его реализовал.
  • 27 ноября 2016 г. , редакция: 1480268002
  • Спасибо, попробую тогда разобраться)
    О результатах отпишу, или выложу сюда мануал.

    ______________________________________________

    Попробовал, в итоге ничего.
    Консоль пишет что diafan_ajax.init не существует, оно и логично вроде, я же не создал эту функцию, создал ее только в shop.action, все сделал по примеру.

    Кто знает как вызвать шаблонный тег посредством AJAX, отзовитесь, готов заплатить!!!
  • 27 ноября 2016 г. , редакция: 1480279016
  • 1 проблема в том что к файлу shop.action.php нельзя обратится в принципе пока есть данный код:
    Код
    if (! defined('DIAFAN'))
    {
    $path = __FILE__; $i = 0;
    while(! file_exists($path.'/includes/404.php'))
    {
    if($i == 10) exit; $i++;
    $path = dirname($path);
    }
    include $path.'/includes/404.php';
    }


    Но это даже не есть проблема, т.к. его можно удалить, и доступ тут же будет.
    Но удалив этот код я попробовал сделать, как Вы сказали, но ничего не вышло.
    Подумал что я тупо не правильно пишу код, и решил вывести вначале файла просто echo 'test'; и открыв данный файл в браузере я конечно же увидел test, т.е. доступ к файлу у меня есть.
    После вместо эхо тест вставил шаблонный тег в 2-х вариациях и он не сработал.
    Затем я решил прочитать про action в jquery AJAX, но ничего не нашел, либо его там не может быть, либо я невнимательный, уж простите

    Короче результат не о чем.
  • 28 ноября 2016 г. , редакция: 1480327421
  • Денис, большое спасибо за вышеизложенное, но к большому сожелению в доках о AJAX написано меньше всего и толком без примеров, тут кусочек там кусочек, я уже раз 10 перечитал, но так и не смог вникнуть.

    Код
    необходимо присутствие в нём метода get_data (public function buy(){})

    Я это понимаю и уже сделал, но он у меня даже тупо эхо тест не выводит, и ошибки в консоли не выводит, т.е. js работает исправно.
    Скажите пожалуйста в url мне что нужно запихнуть? Файл shop.action.php или что-то другое? т.к. мы ведь в action: '...' указываем файл и так.
    Но если я ничего не указываю в url, то соответственно ничего не происходит.

    Я получается не могу связать ajax с методом описанным в shop.action.php, если Вы мне четкий пример хотябы укажите что написать в url,action и можно ли в diafan.ajax передать дату? я буду Вам признателен)

    Цитата
    идём дальше на кой то хрен нам (вам понадобился AJAX)

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

    Напишу сюда то что уже сделано:
    В файл shop.action.php в конце класса добавил:
    Код
    /**
    * Подгрузка похожих товаров
    *
    * @return void
    */

    public function shop_load_rel()
    {
    echo 'test';
    // Также пробовал писать $this->result["load"] = 'test';
    }


    В файл js писал различные вариации AJAX, но все безуспешно.
    В shop_load_rel() писал не только как указал, еще много различных вариаций пробовал, просто уже не помню.
  • 28 ноября 2016 г. , редакция: 1480338753
  • Код

    $('.wrap_filter_zagolovok').click(function(){
    $.ajax({
    url: window.location.href,
    type: 'POST',
    dataType: 'json',
    data:{
    action: 'shop_load_rel',
    module: 'shop'
    },
    success: function(response){
    console.log(response.data); // или так
    $('.wrap_filter_zagolovok').append(response.data); //или так
    }
    });
    });


    Код
    public function shop_load_rel()
    {
    $this->result["data"] = array(
    '.wrap_filter_zagolovok' => '<strong>тест</strong>'
    );
    }



    Простите за нудство, но всеже что не так?

    Ошибок никаких нет, и делал как у Вас с примером чтобы ошибку вывел, не выводит, он вообще ничего не выводит и при этом файл рабочий остается.
  • 29 ноября 2016 г. , редакция: 1480407647
  • Цитата
    ".element" => "и вот тут твой кусок можно с HTML <strong>тегами</strong>");


    Потому что у Вас тут точка :)
    И не только у Вас, аналогично в других AJAX вызовов тоже точки либо решетка в зависимости что надо класс или id

    Убрал точку, ровным счетом ничего.
  • 29 ноября 2016 г.
  • Обращаюсь ко всем кто пытался мне помочь:
    Если знаете как это все точно должно выглядеть, можете мне уделить 5 минут по скайпу чтобы все разжевать? я заплачу Вам! Тут не нужно писать хреново тучу кода, это не целый модуль и т.д. задействовано всего 2 файла и то в каждом по 2 строчки от силы. Уже 3 дня дрочим эту тему. Не понимаю я как это должно быть, и в документации не написано четко ни одного примера.

    Или же если Вы не знаете хватит морочить голову.

    Вы все по разному пишите ;D, кто нибудь делал эту хрень или нет?

    Простите за грубость, если это так могло выглядеть.

Новости

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

Форум