Блоки Архив

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

25 ответов

  • 1

    Я только безумное преположение сделаю. А вы можете в каком-нибудь другом браузере, в которым вы никогда в адинку не заходили (или давно заходили) попробовать зайти и посмотреть на эти блоки. Может оно просто так старый скрипт закэшировало?

    • +1
      Алеша Алеша 18 мая 2016 22:41 #

      Сергей, пробовал, у меня такая же проблема, не работает.

  • 1
    Rusich 19 мая 2016 02:13 #

    Подтверждаю, есть такой же косяк.

    Ситуевена очень странная, 3 сайта обновились без проблем.

    На 4-ом возникла такая же проблема с блоками. Пусто там.

    Все сайты на одном сервере.

    • +2
      Rusich Rusich 19 мая 2016 02:44 #

      Точнее ссылки на блоки не кликабельны, в адресной строке url меняется.

      • +1

        В консоли браузера есть сообщения об ошибках? https://support.webasyst.ru/7407/browser-error-diagnostics/

        • +1
          Алеша Алеша 19 мая 2016 04:45 #

          Ошибок нет.

          • +1

            В консоли браузера есть вкладка Сеть или Network. Когда выбираете очередной блок, в этой вкладке должна появиться новая запись об отправленном AJAX-запросе. Посмотрите, какой ответ возвращает такой запрос. URL запроса имеет вид /webasyst/site/?module=blocks&id=mybockid&_=****

  • 1
    Алеша 19 мая 2016 05:06 #

    вот что пишется когда пробую кликать по блокам:

    GET XHR http://site.ru/webasyst/site/

    GET XHR http://site.ru/wa-content/js/jquery-wa/wa.elrte.ace.js

  • 1
    Rusich 19 мая 2016 05:58 #

    В консоли запросы абсолютно идентичны тем, что на нормально обновившемся сайте.

    /webasyst/site/?module=blocks&id=socialnii_seti_glavnay&_=1463651857058
    /webasyst/?action=count&background_process=1&_=1463651857060

    • +1

      Значение имеют ответы на эти вопросы (точнее, на первый из них), а не только само наличие запросов. Как выглядит ответ?

      • +1
        Rusich Rusich 19 мая 2016 07:33 #
        var wa_editor_key = false;
        var wa_editor;
        
        function waEditorKeyCallback(press, options) {
            var options = options || {};
            options = jQuery.extend({
                'save_button': 'wa-page-button',
                'change_callback': null
            }, options);
            var button = $('#' + options.save_button);
            if (press) {
                return function (e) {
                    if (!button.length) {
                        return;
                    }
                    // ctrl + s (Mac OS)
                    if (e.ctrlKey && e.which == 115 && !wa_editor_key) {
                        button.click();
                        e.preventDefault();
                    }
                }
            } else {
                return function (e) {
                    wa_editor_key = false;
                    if (!button.length) {
                        return;
                    }
                    // ctrl + s
                    if (e.ctrlKey && e.which == 83) {
                        wa_editor_key = true;
                        button.click();
                        e.preventDefault();
                    }
                    if (e.metaKey) {
                        return;
                    }
                    if ((e.which < 33 || e.which > 40) &&
                        (e.which > 27 || e.which == 8 || e.which == 13) &&
                        (e.which < 112 || e.which > 124) &&
                        (!e.ctrlKey || e.which != 67)
                        ) {
                        button.removeClass('green').addClass('yellow');
                        if(options.change_callback && (typeof(options.change_callback) == 'function')) {
                            options.change_callback();
                        }
                    }
                }
            }
        }
        
        function waEditorAceInit(options)
        {
            var options = options || {};
            options = jQuery.extend({
                'prefix': 'wa-page-',
                'id': 'wa-page-content',
                'type': 'html',
                'ace_editor_container': 'wa-ace-editor-container'
            }, options);
        
            if (!options.save_button) {
                options.save_button = options.prefix + 'button';
            }
        
            if (!$('#' + options.ace_editor_container).length) {
                $('<div id="' +  options.ace_editor_container + '"></div>').insertAfter($('#' + options.id))
        ;
            }
            wa_editor = ace.edit(options.ace_editor_container);
        
            ace.config.set("basePath", wa_url + 'wa-content/js/ace/');
        
            wa_editor.setTheme("ace/theme/eclipse");
            var session = wa_editor.getSession();
        
            if (options.type == 'css') {
                session.setMode("ace/mode/css");
            } else if (options.type == 'javascript') {
                session.setMode("ace/mode/javascript");
            } else {
                session.setMode("ace/mode/css");
                session.setMode("ace/mode/javascript");
                session.setMode("ace/mode/smarty");
            }
            session.setUseWrapMode(true);
            wa_editor.setOption("maxLines", 10000);
            wa_editor.setAutoScrollEditorIntoView(true);
            wa_editor.renderer.setShowGutter(false);
            wa_editor.setShowPrintMargin(false);
            if (navigator.appVersion.indexOf('Mac') != -1) {
                wa_editor.setFontSize(13);
            } else if (navigator.appVersion.indexOf('Linux') != -1) {
                wa_editor.setFontSize(16);
            } else {
                wa_editor.setFontSize(14);
            }
            $('.ace_editor').css('fontFamily', '');
            session.setValue($('#' + options.id).hide().val());
            wa_editor.focus();
            wa_editor.navigateTo(0, 0);
        
            wa_editor.commands.addCommands([{
                name: 'waSave',
                bindKey: {win: 'Ctrl-S',  mac: 'Ctrl-S'},
                exec: function(editor) {
                    $('#' + options.save_button).click();
                }
            }, {
                name: "unfind",
                bindKey: {
                    win: "Ctrl-F",
                    mac: "Command-F"
                },
                exec: function(editor, line) {
                    return false;
                },
                readOnly: true
            }]);
        
            // Whenever a change happens inside the ACE editor, update
            // the size again
            session.on('change', function() {
                if(options.change_callback && (typeof(options.change_callback) == 'function')) {
                    options.change_callback();
                }
                if ($('#' + options.save_button).hasClass('green')) {
                    $('#' + options.save_button).removeClass('green').addClass('yellow');
                }
            });
        
            $(window).resize(function() {
                wa_editor.resize();
            });
        }
        
        function waEditorUpdateSource(options) {
            var options = options || {};
            options = jQuery.extend({
                'id': 'wa-page-content'
            }, options);
            var element = $('#' + options.id);
        
            if ($(".el-rte").length && $(".el-rte").is(':visible')) {
                $('.el-rte iframe').contents().find("img[data-src!='']").each(function () {
                    $(this).attr('src', $(this).attr('data-src'));
                });
                element.val(element.elrte('val'));
                if (wa_editor) {
                    wa_editor.setValue(element.val());
                }
                $('.el-rte iframe').contents().find('img[src*="$wa_url"]').each(function () {
                    var s = decodeURIComponent($(this).attr('src'));
                    $(this).attr('data-src', s);
                    $(this).attr('src', s.replace(/\{\$wa_url\}/, wa_url));
                });
            } else if (wa_editor) {
                element.val(wa_editor.getValue());
            }
        }
        
        
        function waEditorInit(options) {
            var options = options || {};
            options = jQuery.extend({
                'prefix': 'wa-page-',
                'id': 'wa-page-content',
                'lang': 'en',
                'ace_editor_container': 'wa-ace-editor-container',
                'html_tab': 'html',
                'wysiwyg_tab': 'wysiwyg'
            }, options);
        
            if (!options.save_button) {
                options.save_button = options.prefix + 'button';
            }
        
            var element = $('#' + options.id);
        
            if (!options.height) {
                var editor_selector = "div." + options.prefix + "editor";
                var h = $(editor_selector).height() - $(editor_selector + " .wa-page-gray-toolbar").height()
         - 92;
                if ($("div." + options.prefix + 'save-panel').length) {
                    h = h - 25;
                }
                if ($("#wa-app").height() < $("#wa").height() - $("#wa-header").height()) {
                    h += $("#wa").height() - $("#wa-header").height() - $("#wa-app").height();
                }
                options.height = h < 300 ? 300 : h;
            }
        
            // init elrte editor
            elRTE.prototype.beforeSave = function () {};
            elRTE.prototype.options.toolbars.waPageToolbar = ['wa_style', 'alignment', 'colors', 'format', 'indent'
        , 'lists', 'wa_image', 'wa_links', 'wa_elements', 'wa_tables', 'direction'];
        
            // hack for empty elrte in IE
            if (!element.val() && $.browser.msie) {
                element.val('<div></div>');
            }
            element.elrte({
                height: options.height - 53,
                cssfiles: [wa_url + "wa-content/css/wa/wa-1.3.css"],
                toolbar: 'waPageToolbar',
                lang: options.lang,
                wa_image_upload: '?module=pages&action=uploadimage',
                wa_image_upload_path: options.upload_url,
                width: "100%"
            });
            if (element.val() == '<div></div>' && $.browser.msie) {
                element.elrte('val', '');
            }
        
            var f = element.elrte()[0].elrte.filter.source;
            element.elrte()[0].elrte.filter.source = function (html) {
                var html = f.call(element.elrte()[0].elrte.filter, html);
                html = html.replace(/%7B\$wa_url%7D/, '{$wa_url}');
                html = html.replace(/{[a-z$][^}]*}/gi, function (match, offset, full) {
                    var i = full.indexOf("</script", offset + match.length);
                    var j = full.indexOf('<script', offset + match.length);
                    if (i == -1 || (j != -1 && j < i)) {
                        match = match.replace(/>/g, '>');
                        match = match.replace(/</g, '<');
                        match = match.replace(/&/g, '&');
                        match = match.replace(/"/g, '"');
                    }
                    return match;
                });
                return html;
            };
            $('.el-rte iframe').contents()
                .keydown(waEditorKeyCallback(false, options))
                .keypress(waEditorKeyCallback(true, options))
                .keyup(function(e) {
                    //all dialogs should be closed when Escape is pressed
                    if (e.keyCode == 27) {
                        jQuery(".dialog:visible").trigger('esc');
                    }
                });
            $('.el-rte .toolbar li').click(function () {
                $('#' + options.save_button).removeClass('green').addClass('yellow');
            });
        
            $('#wa-page-settings').keydown(waEditorKeyCallback(false, options)).keypress(waEditorKeyCallback
        (true, options));
        
        
            waEditorAceInit(options);
        
            // bind click handlers to buttons
            $("#" + options.wysiwyg_tab).click(function () {
                if ($.storage) {
                    $.storage.set(wa_app + '/editor', 'wysiwyg');
                }
                $('ul#'+options.prefix+'wysiwyg-html-toggle, ul.'+options.prefix+'wysiwyg-html-toggle').children
        ('li.selected').removeClass('selected');
                $(this).parent().addClass('selected');
                $("#" + options.ace_editor_container).hide();
                element.elrte('val', wa_editor.getValue());
                $('.el-rte iframe').contents().find('img[src*="$wa_url"]').each(function () {
                    var s = decodeURIComponent($(this).attr('src'));
                    $(this).attr('data-src', s);
                    $(this).attr('src', s.replace(/\{\$wa_url\}/, wa_url));
                });
                $(".el-rte").show();
                $('.el-rte iframe').contents().find('body').focus();
                return false;
            });
        
            $("#" + options.html_tab).click(function () {
                if ($.storage) {
                    $.storage.set(wa_app + '/editor', 'html');
                }
                $('ul#'+options.prefix+'wysiwyg-html-toggle, ul.'+options.prefix+'wysiwyg-html-toggle').children
        ('li.selected').removeClass('selected');
                $(this).parent().addClass('selected');
                $('.el-rte iframe').contents().find("img[data-src!='']").each(function () {
                    $(this).attr('src', $(this).attr('data-src'));
                });
        
                var p = wa_editor.getCursorPosition();
                waEditorUpdateSource(options);
                $(".el-rte").hide();
                $("#" + options.ace_editor_container).show();
                wa_editor.focus();
                wa_editor.navigateTo(p.row, p.column);
                return false;
            });
        
            // show active editor
            $('ul#'+options.prefix+'wysiwyg-html-toggle, ul.'+options.prefix+'wysiwyg-html-toggle').children
        ('li.selected').removeClass('selected');
            if (!$.storage || $.storage.get(wa_app + '/editor') == 'wysiwyg') {
                $("#" + options.wysiwyg_tab).parent().addClass('selected');
                $('.el-rte iframe').contents().find('img[src*="$wa_url"]').each(function () {
                    var s = decodeURIComponent($(this).attr('src'));
                    $(this).attr('data-src', s);
                    $(this).attr('src', s.replace(/\{\$wa_url\}/, wa_url));
                });
                $("#" + options.ace_editor_container).hide();
            } else {
                $(".el-rte").hide();
                $("#" + options.html_tab).parent().addClass('selected');
                $("#" + options.ace_editor_container).show();
            }
        }
        • +1

          Вы дали ответ на запрос /wa-content/js/jquery-wa/wa.elrte.ace.js, а нужен /webasyst/site/?module=blocks&id=************

          • +1
            Rusich Rusich 19 мая 2016 08:00 #

            Извиняюсь

            <script src="/wa-content/js/jquery-wa/wa.elrte.ace.js?v2.2.7.1463658147"></script>
            <script type="text/javascript">
            document.title = 'Новый блок' + ' — Сайт';
            </script>
            <div class="sidebar left200px s-internal-sidebar">
            
                <div class="block not-padded">
                        <ul id="ul-blocks" class="menu-v with-icons">
                                            <li data-block-id="comand_slyder" class="sortable">
                                <a href="#/blocks/id=comand_slyder"><i class="icon16 zone"></i>comand_slyder
                                    <span class="hint">логотипы команд в heder</span>
                                </a>
                            </li>
                                            <li data-block-id="verhnee_meny" class="sortable">
                                <a href="#/blocks/id=verhnee_meny"><i class="icon16 zone"></i>verhnee_meny
                                    <span class="hint">Верхнее меню</span>
                                </a>
                            </li>
                                            <li data-block-id="works_slyder" class="sortable">
                                <a href="#/blocks/id=works_slyder"><i class="icon16 zone"></i>works_slyder
                                    <span class="hint">Слайдер работ</span>
                                </a>
                            </li>
                                            <li data-block-id="nignee_meny" class="sortable">
                                <a href="#/blocks/id=nignee_meny"><i class="icon16 zone"></i>nignee_meny
                                    <span class="hint">Нижнее меню</span>
                                </a>
                            </li>
                                            <li data-block-id="socialnii_seti_glavnay" class="sortable">
                                <a href="#/blocks/id=socialnii_seti_glavnay"><i class="icon16 zone"></i>socialnii_seti_glavnay
            
                                    <span class="hint">Блок социальных сетей на главной</span>
                                </a>
                            </li>
                                            <li data-block-id="site.send_email_form" class="sortable">
                                <a href="#/blocks/id=site.send_email_form"><img style="margin-left: -20px; margin-right
            : 4px; vertical-align: middle;" src="/wa-apps/site/img/site16.png" width="16" height="16">site.send_email_form
            
                                    <span class="hint">Форма для отправки сообщений</span>
                                </a>
                            </li>
                                            <li data-block-id="test_blok" class="sortable">
                                <a href="#/blocks/id=test_blok"><i class="icon16 zone"></i>test_blok
                                    <span class="hint">Тестовый блок</span>
                                </a>
                            </li>
                                            <li data-block-id="blog.latest_posts" class="">
                                <a href="#/blocks/id=blog.latest_posts"><img style="margin-left: -20px; margin-right
            : 4px; vertical-align: middle;" src="/wa-apps/blog/img/blog16.png" width="16" height="16">blog.latest_posts
            
                                    <span class="hint">Latest blog posts</span>
                                </a>
                            </li>
                                            <li data-block-id="blog.latest_comments" class="">
                                <a href="#/blocks/id=blog.latest_comments"><img style="margin-left: -20px; margin-right
            : 4px; vertical-align: middle;" src="/wa-apps/blog/img/blog16.png" width="16" height="16">blog.latest_comments
            
                                    <span class="hint">Latest comments of all blog posts</span>
                                </a>
                            </li>
                                            <li class="top-padded selected">
                                <a href="#/blocks/add/" class="small"><i class="icon10 add"></i>Новый блок</a>
                            </li>
                            
                        </ul>
                </div>
            
            </div>
            <div class="content left200px">
                <div class="s-editor s-white bordered-left">
                <form id="site-form" method="post" action="?module=blocks&action=save">
                    <div class="block s-grey-toolbar">
                                    <div id="s-block-settings" style="">
                            <div class="fields form">
                                <div class="field">
                                    <div class="name bold">
                                        ID
                                    </div>
                                    <div class="value">
                                        <input name="info[id]" type="text" class="bold large" value="" />
                                    </div>
                                </div>
                                <div class="field">
                                    <div class="name">
                                        Описание
                                    </div>
                                    <div class="value">
                                        <textarea name="info[description]"></textarea>
                                    </div>
                                </div>
                            </div>
                            <div class="clear"></div>
                        </div>        
                    </div>    
                    <div class="s-editor-core-wrapper">
                        <div class="ace">
                            <textarea id="content" name="info[content]" class="s-entire-core" style="width:99%">
            </textarea>
                        </div>
                    </div>            
                </form>    
                <div class="clear"></div>
                </div>
            </div>
            
            
            <script type="text/javascript">
                $("#site-form").submit(function () {
                    waEditorUpdateSource({ 'id': 'content'});
                    var form = $(this);
                    $("#wa-editor-status").html("<i class='icon16 loading'></i> " + $_('Saving...')).fadeIn("slow"
            );
                    $.post(form.attr('action'), form.serialize(), function (response) {
                        if (response.status == 'ok') {
                            $(".error").removeClass('error');
                            $("#wa-editor-status").html('<i class="icon16 yes"></i>' + $_('Saved')).fadeOut('slow'
            );
                            $('#s-editor-save-button').removeClass('yellow').removeClass('red').addClass('green'
            );
                            
                            var blockHtml = function(b) {
                                var icon = '';
                                if (b.app_icon) {
                                    icon = '<img style="margin-left: -20px; margin-right: 4px; vertical-align: middle
            ;" src="/' + b.app_icon['16'] + '" width="16" height="16">';
                                } else {
                                    icon = '<i class="icon16 zone"></i>';
                                }
                                return '<li data-block-id="' + b.id + '" class="selected sortable">' +
                                        '<a href="#/blocks/id=' + b.id + '">' + icon + b.id + 
                                        ' <span class="hint">' + b.description + '</span></a></li>';
                            }
                            
                            var blocks_ul = $("#ul-blocks");
                                                form.attr('action', form.attr('action') + '&id=' + response.data
            .id);
                                var b = response.data;
                                                    
                                blocks_ul.find("li.selected").removeClass('selected');
                                
                                var insert_target = blocks_ul.find("li.sortable:last");
                                if (insert_target.length) {
                                    insert_target.after(blockHtml(b));
                                } else {
                                    insert_target = blocks_ul.find("li:first");
                                    if (insert_target.length) {
                                        insert_target.before(blockHtml(b));
                                    } else {
                                        blocks_ul.append(blockHtml(b));
                                    }
                                }
                                $.History.stop = true;
                                location.hash = '#/blocks/id=' + b.id;
                                        } else if (response.status == 'fail') {
                            if ($.isArray(response.errors)) {
                                var e = response.errors[0];
                                $(response.errors[1]).addClass('error');
                            } else {
                                var e = response.errors;
                            }
                            $("#wa-editor-status").html('<b style="color:red">' + (e ? e : $_('An error occurred
             while saving')) + '</b>');
                            $('#s-editor-save-button').removeClass('yellow').removeClass('green').addClass('red'
            );
                        }
                    }, "json");
                    return false;
                });
            $("#ul-blocks").sortable({
                distance: 5,
                helper: 'clone',    
                items: 'li.sortable',
                opacity: 0.75,
                tolerance: 'pointer',
                stop: function (event, ui) {
                    var li = $(ui.item);
                    var id = li.data('block-id');
                    var pos = li.prevAll('li.sortable').size() + 1;
                    $.post("?module=blocks&action=sort", { id: id, pos: pos}, function () {
                    }, "json");
                }
            });
            
            $(".s-block-code").click(function () {
                var el = $('<input style="font-weight: bold; margin-top:2px; border: 1px solid #ccc; padding: 1px
            ; width:' + ($(this).width() + 2) + 'px" type="text" readonly="readonly" />').val($(this).text()).focus
            (function () {
                    $(this).select();
                }).mouseup(function(e){
                    e.preventDefault();
                });
                $(this).replaceWith(el);
                el.select();
            });
            
                
            $("#s-block-delete").click(function () {
                if (confirm('Блок будет удален и перестанет подключаться в шаблонах и на страницах, на которые б
            ыл добавлен до этого. Удалить блок?')) {
                    $.post("?module=blocks&action=delete", { id: ""}, function (response) {
                        if (response.status == 'ok') {
                                                var li = $("#ul-blocks li.selected");
                                if (li.prev().length) {
                                    var hash = li.prev().addClass('selected').find('a').attr('href');
                                } else {
                                    var hash = li.next().addClass('selected').find('a').attr('href');
                                }
                                            $("div.s-editor").empty();
                            $('#ul-blocks li[data-block-id=""]').remove();
                                                $.wa.setHash(hash);
                                        }
                    }, "json");
                }
                return false;
            });
            
            $('.s-block-view-original').click(function() {
                var d = $('#s-block-view-original-dialog');
                if (d.length) {
                    d.waDialog({
                        onLoad: function() {
                            var editor = ace.edit('s-block-original');
                            ace.config.set("basePath", wa_url + 'wa-content/js/ace/');
                            editor.setTheme("ace/theme/eclipse");
                            var session = editor.getSession();
                            session.setMode("ace/mode/css");
                            session.setMode("ace/mode/javascript");
                            session.setMode("ace/mode/smarty");
                            session.setUseWrapMode(true);
                            editor.renderer.setShowGutter(false);
                            editor.setShowPrintMargin(false);
                            editor.setFontSize(13);
                            editor.setHighlightActiveLine(false);
                            editor.setReadOnly(true);
            
                            setTimeout(function () {
                                var newHeight = editor.getSession().getScreenLength() * editor.renderer.lineHeight
             + editor.renderer.scrollBar.getWidth();
                                if (newHeight < 220) {
                                    newHeight = 220;
                                }
                                $('#s-block-original').height(newHeight.toString() + "px");
                                editor.resize();
                            }, 50);
                        }
                    });
                }
                return false;
            });
            
            $('#s-block-settings-toggle').click(function(){
                $('#s-block-settings').toggle();
                return false;
            });
            
            
            </script>
      • +1

        Там запрос ?module=blocks&id=XXXXXX возвращает шаблон с пустой textarea блока. А на том сайте, где работает в textarea находится содержимое блока. Не могу понять, с чем связано.

  • 1
    Dronik-2006 19 мая 2016 05:59 #

    По началу я думал, что это из за какого нибудь установленного плагина происходит только у меня, а выходит это криво встает обновление, и что самое главное откатиться назад нельзя! А поддержка молчит, и ответа на вопрос нет, и в логах ничего по этому поводу нет...ошибок не выдает

  • 0
    Dronik-2006 19 мая 2016 07:08 #

    Сплошное мошенничество

  • 1
    Dead_horse 19 мая 2016 07:53 #

    У нас тоже в разделе Блоки не отображается содержимое блоков

  • 1

    Если совсем пальцем в небо попробовать: у вас на хостинге установлен какой-нибудь акселератор PHP?

    • +1
      Dead_horse Dead_horse 19 мая 2016 08:00 #

      У нас сайт в облаке, хостинг ваш

    • +1
      Rusich Rusich 19 мая 2016 08:04 #

      На одном хостинге с одинаковыми настройками 3 сайта обновились без видимых проблем. Один выдает перл в блоках.

  • 1
    Dronik-2006 19 мая 2016 08:04 #

    Хвала Админам... ошибку признали и исправили! Спасибо...что повернулись лицом к народу

Эта тема в архиве. Добавление комментариев к ней отключено.