Как закрыть и обновить родителя, используя fancybox с safecracker в expressionengine - PullRequest
0 голосов
/ 25 января 2012

Чтобы управлять списком из примерно 800 записей, я использую форму с раскрывающимися списками, чтобы отфильтровать различные настраиваемые поля, включая две настраиваемые даты.Результат фильтруется с помощью выраженияengines dynamic_parameters.

{exp:channel:entries 
  channel="jobb_ticket" 
  search:display="published|updated|delivered" 
  status="Open|Closed" 
  limit="9999" 
  dynamic_parameters="search:namn|search:produkt|search:kund|search:producent|search:materialdag|search:utgivningsdag" orderby="materialdag|utgivningsdag" 
  date_field="materialdag" 
  date_field_start="<? if(!empty($_POST['startdate'])){echo date('Y-m-d H:i', $_POST['startdate']);} ?>" 
  date_field_stop="<? if(!empty($_POST['startdate'])){echo date('Y-m-d H:i', $_POST['startdate'] + 604799);} ?>" 
  sort="asc|asc" 
}

Отфильтрованный список содержит после каждой строки кнопку отправки, чтобы иметь возможность редактировать некоторые настраиваемые поля, связанные с fancybox, содержащим форму safecracker.

в html:

<div class="col_btn_registrera"><a class="registrera_produkt fancybox.ajax" href="{site_url}client/client_register_ajax/index_thewineagency/{entry_id}"><input type="submit" name="" value="Registrera" /></a></div>

В заголовке

$('.registrera_produkt').fancybox({
Width  : 340,
Height  : 100,
autoDimensions : false
}); 

В fancybox форма Safecracker

<html>
<head>
[removed]
    $(document).ready(function(){
            $('#publishForm').ajaxForm({
                    dataType: 'json',
                    success: function(data) {
                            if (data.success) {                                                                   
                            } else {
                                    alert('Failed with the following errors: '+data.errors.join(', '));
                            }
                    }
            });
    });
    $('#publishForm').submit(function(){
     $.fancybox.close();
     $(parent.document)[0].location.reload(true);
     return false;
    });
[removed]
<link href="{path=css/_ee_saef_css}" type="text/css" rel="stylesheet" media="screen">
<link href="{site_url}css/gridlocker.css" rel="stylesheet" type="text/css">
</head>
<body>
{exp:safecracker include_jquery="no" channel="jobb_ticket" entry_id="{last_segment}"}
<input type="text" name="produkt" id="produkt" value="{produkt}">br>
<input type="submit" name="submit_button" id="submit_button" value="Uppdatera">
{/exp:safecracker}
</body>
</html> 

запись действительно обновляется иОкно fancybox закрывает родительскую страницу, но не обновляет.

Как обновить родительскую страницу после отправки, но без сброса отфильтрованного результата?или как мне начать новый поиск с последними использованными значениями формы?

Есть ли лучший способ сделать это?

любезно просить помощи

ralph

1 Ответ

0 голосов
/ 07 ноября 2012

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

...