Saya baru saja memulai tema responsif berdasarkan Omega, berkonsentrasi pada tata letak ponsel pada awalnya.
Ada beberapa blok yang mungkin akan dianggap terlalu 'berat' untuk dimasukkan dalam tata letak seluler, dan blok-blok lain yang perlu diperkenalkan secara khusus untuk tata letak itu (menu encer, bilah pengguna yang langsing, dll).
Saya dapat dengan mudah menyembunyikan blok yang tidak diinginkan pada tata letak seluler dengan CSS, dan menyertakan blok khusus seluler pada tata letak default dan menyembunyikannya (jadi itu hanya diperlihatkan untuk seluler), tapi itu sepertinya cara berpikir yang terbelakang. Itu. Jika blok tidak ditampilkan, overhead tambahan yang mereka keluarkan akan benar-benar tidak dapat diterima (terutama mengingat jumlah kueri db tambahan yang akan ditambahkan konten dalam blok tersembunyi).
Saya berpikir harus ada cara bersih yang bagus untuk mencegat proses pengambilan keputusan blok sejak awal di halaman build, dan mengecualikan / menyertakan blok berdasarkan beberapa os-deteksi, tapi saya tidak tahu bagaimana itu mungkin terjadi. bisa jadi.
Saya juga akan melemparkan fakta bahwa Varnish berjalan di depan situs ini, yang seharusnya membuat semuanya lebih menyenangkan :)
Apakah ada modul / strategi yang dikenal di luar sana yang dapat membantu dengan ini?
Saya harus menambahkan bahwa menggunakan modul Konteks bukan merupakan pilihan karena situs tersebut sudah lengkap, dan memindahkannya ke dalam Konteks akan menjadi usaha besar pada saat ini.
Jawaban:
Seperti disebutkan dalam komentar sudah, ini mengharuskan Anda untuk mengkonfigurasi pernis untuk tidak hanya cache pada URL permintaan, tetapi juga bervariasi pada agen-pengguna. Ada contoh yang relevan di wiki pernis, VCLExampleNormalizeUserAgent .
Setelah permintaan benar - benar mengenai situs, Anda perlu menentukan blok mana yang akan ditampilkan dan tidak ditampilkan. Saya akan menganggap itu tidak kurang dari bencana untuk melakukan ini dengan eval , jadi pilihan paling umum yang tersisa adalah Konteks dan Panel .
Dengan situs yang sudah dibangun. mengulang semua halaman / blok penempatan dengan modul mana pun mungkin bukan opsi, tetapi dengan profiler, dan menerapkan 80-20 , bisa dimungkinkan untuk membuat keuntungan kinerja yang signifikan dengan mengulang halaman tertentu saja.
sumber
Saya tidak bisa membahas banyak detail, karena saya sudah lama tidak menggunakan salah satu modul (saya membangun semua situs saya dengan Konteks dari kata go dan saya belum mengambil responsif pada sesuatu yang belum saya buat untuk sementara, jadi saya belum pernah mengalami masalah ini sebelumnya), tetapi saya pikir Anda harus dapat menyatukan sesuatu dengan Alat dan Ruang Seluler.
Spasi
Alat Seluler
Halaman proyek untuk MT mengatakan tidak siap untuk produksi, yang mungkin menjadi masalah - tergantung kapan terakhir diperbarui, karena komit terakhir adalah bulan ini.
* EDIT
SAYA BENAR-BENAR LUPA TENTANG INI!
Peramban
Blok peramban
Browscap memang tergantung pada pengaturan server Anda, tetapi jika Anda dapat menggunakannya maka modul kedua memberi Anda pengaturan visibilitas tambahan untuk setiap blok pada halaman edit blok.
sumber
Anda dapat menggunakan dukungan browser jQuery cross untuk mendapatkan resolusi layar:
Tambahkan skrip PHP sederhana untuk menampilkan pengaturan blok terkait.
sumber
Anda dapat menggunakan Blok Deteksi Seluler tetapi saat ini saya sedang mencari solusi yang bekerja dengan lebar jendela dan salah satu
AdaptiveTheme
atau kueri media modul Breakpoints agar tidak menduplikasi kode itu dan mengurangi unduhan pengguna akhir lebih dari itu. Saya juga memiliki hasil yang beragam dengan Mobile Detect yang tidak mengambil pada satu perangkat yang saya uji, yang membuatnya agak tidak berguna seperti Browscap jika tidak dapat memberikan hasil yang dapat diandalkan.Beberapa diskusi memiliki beberapa orang yang ingin keluar dari Browscap karena satu dan lain alasan, karenanya pindah ke Mobile Detect .
sumber