Nasıl "yapılandırılmamış" çözerim

3 Cevap php

I have a large, PHP-based CMS that manages web pages. All items are organized in a tree structure. When I edit an item, the "back" button usually points to its parent item. So, the usual workflow is navigating through the tree.

Şimdi her şimdi ve sonra, ihtiyaç yapısına bakmadan diğer öğelere "atlar" bir iş akışı için ortaya çıkar.

Örneğin bir kullanıcı bir web sayfası düzenleme olduğunda, orada bir değişiklik yapmak, sayfa (tamamen farklı bir dalda başka bir öğe) bağlı şablonu açmak isteyebilirsiniz, ve tıklandığında geri gelmesini bekliyoruz "kaydetmek" onlar düzenlerken sayfa.

Şu anda, ben kullanarak bu çözmek

domain.com/admin/template/edit?from=/frontpage/edit

nerede değişkeni "tasarrufu" ve "iptal" düğmeleri hedef URL'leri belirler "dan".

Bu yol çok uzun ve karmaşık bir hale belirli bir noktaya kadar çalışır. Örneğin, ne varsa kullanıcı

  • bir sayfayı düzenler
  • ekli şablonu açar
  • ön-uç görünümünde şablon önizlemeleri
  • ve sonra sorunsuz onlar düzenlerken sayfaya geri alınacak bekliyor?

Şu anda, kullanıcı ön uç görünümü döndüğünde, orijinal sayfaya bağlantı kaybolur, böylece "tarih" son öğenin biter, ve bunu el ile aramak zorunda.

Hızlı bir şekilde gerçekleşebilir Başka bir sorun tüm değerler "den" içeren GET URL çok uzun, ya da tamamen kaotik hale geliyor:

domain.com/admin/template/edit?from=/frontpage/edit&from=/somepage/edit
&from=/template/preview&/from=template/edit&/from=template_preview ...

(Eğer drift olsun)

Ben geçmişte ayrı pencere açarak zarif bu çözdük, ama ben gerçekten birden çok Windows kullanıcıları karıştırmayın eğilimindedir başlıca nedeni, evrensel çalışan sorunsuz bir tek-pencere iş akışı uygulamak istiyorum.

How do you solve this?

Have you implemented a robust "unstructured" navigation that works well with multiple windows open (=one user doing multiple different things with different navigation paths)?

How do you go about this on the user interface side?

Aklıma iyi yaklaşım geçen bir bir veritabanı veya oturumda geçici bir kayda işaret değer "den". Bu rekor cari yolu hakkında tüm bilgileri içerir ve bu nedenle her zaman "arka sayfa x için" değer hakkını sağlayabilir.

Ne en çok duymak istiyorum başarıyla hayata geçirdik insanların deneyimleri olduğunu ve bunu nasıl yaptığını.

3 Cevap

Sadece bir kaç öneri

Önizleme Sorun: Bir IFRAME içinde önizleme, bu nedenle geçmiş kaybolmak doean't?

Dağınık URL sorun: Eğer URL yolundan başka her sayfa için anahtar çeşit varsa

(i.e. /frontpage/edit = 952,
/frontpage/edit&from=/somepage/edit = 763,
/template/preview = 651,
template/edit = 612,
template_preview = 866 etc.)

Bunu gibi PATH_INFO birlikte onları dize olabilir:

domain.com/admin/template/edit/952/763/651/612/866

Kullanıcı geri tıkladıklarında kapalı haşhaş, bu açık yeni bir sayfada her zaman iterek, etrafında tıklar gibi oturum için ziyaret edilen sayfaların bir yığın oluşturmak olabilir. Bir oturum değişkeni olarak saklayın.

Hüner sonra onlar da tarayıcının geri ve ileri düğmeleri kullanabilirsiniz beri her zaman, kendi yönlendirme dize kontrol etmektir. Kendi yönlendirme dize kendi yığının üstünde değilse, onlar elle önceki sayfaya yedeklenen eğer görmek için yığın tarama gerekir.

Sürece sadece bir kez Backstep gerek konum olarak, neden sen varıyorsun sayfasını üretmek istediğiniz zaman ne Seçenekler sayfa kimlikleri geçemez?