Theo mặc định, joomla tìm kiếm từ khóa layout
trong URL để quyết định bố trí để hiển thị. Nếu biến này trống hoặc không có thì bố cục tmpl/default.php
sẽ được tải.
Bằng cách chỉnh sửa tệp view.html.php
, bạn có thể đặt bố cục mặc định bằng cách sử dụng API JView, ví dụ: $this->setLayout('lol')
sẽ làm cho URL example.com/yourview
tương đương với example.com/yourview?layout=lol
.
Tuy nhiên, thay đổi này một mình sẽ dẫn đến việc Joomla ghi đè hành vi mặc định là để yêu cầu layout
sẽ bị bỏ qua. Điều này có nghĩa rằng yêu cầu example.com/yourview?layout=lmao
cũng sẽ hiển thị example.com/yourview
= example.com/yourview?layout=lol
Bạn có thể giải quyết việc này một cách dễ dàng bằng cách thêm một điều kiện xung quanh setLayout
chức năng để chỉ nếu từ khóa layout
là không có mặt thì bạn sẽ thiết lập cách bố trí mặc định để lol
, ví dụ
<?php
# ...
function display($tpl = null) {
# ...
# Edit : Set the default layout to 'lol'
$layout = JRequest::getWord('layout', '');
if (empty($layout)) $this->setLayout("lol");
// Display the view
parent::display($tpl);
}
# ...
Tôi nghĩ đó là layout = lol. – Irfan
@ Irfan cùng một shit, nhưng bây giờ tải mặc định – user1692333
bạn có thể vui lòng dán url đầy đủ mà bạn đang đi qua? – Irfan