Phát triển bên ngoài CMS


7

Tôi có một câu hỏi, tôi có một trang web đã được xây dựng, chúng tôi sử dụng Joomla cho CMS và một chủ đề từ RocketTheme có tên là "Diametric". Chúng tôi đang tìm cách xây dựng một trang và kiểu dáng của nó sẽ rơi khá xa ra ngoài giới hạn của mẫu. Có thể phát triển trang HTML / CSS được mã hóa không, giả sử sử dụng Bootstrap Framework và lưu trữ nó trong đường dẫn tệp cho miền hiện tại của chúng tôi? Theo tôi hiểu, nó sẽ là một trang bên ngoài CMS, nhưng vẫn nằm trong miền. Tôi có nhìn ra bất cứ điều gì khi làm điều này? Tôi có nên mong đợi bất kỳ hành vi vấn đề nào từ Joomla không?

Câu trả lời:


8

Trong index.phptệp của thư mục của bạn, chẳng hạn như \joomlaroot\yourfolder\index.php, chỉ tải khung của trang Joomla của bạn, sử dụng mã sau:

Khi đã xong, bạn có toàn quyền truy cập vào "mọi thứ Joomla".

<?php
if (!defined('_JEXEC')) {
    define( '_JEXEC', 1 );
    define('JPATH_BASE', dirname(dirname(__FILE__)));
    require_once ( JPATH_BASE .'../includes/defines.php' );
    require_once ( JPATH_BASE .'../includes/framework.php' );
    defined('DS') or define('DS', DIRECTORY_SEPARATOR);
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>My Outside-of-Joomla Page</title>
    </head>
    <body>
        <?php
        $user = jFactory::getUser();
        if($user->id){
            echo '<h1>Hello '.$user->name.'</h1>';
        }else{
            echo 'You are not logged into Joomla';
        }
        ?>
    </body>
</html>

Một điều thú vị cần lưu ý là trong \clithư mục là một mẫu tải chỉ khung cho việc đó - sử dụng "cli" - rất tiện để chạy các tác vụ theo lịch trình và tương tự cho trang web Joomla của bạn ..


Tôi có một chút khó khăn để hiểu chính xác điều này làm gì. Bạn có thể phá vỡ nó một chút cho tôi?
ParanoidPenguin

Tôi đã chỉnh sửa câu trả lời để bao gồm tệp index.php đầy đủ chức năng. Nói tóm lại, với khung được tải, bạn có toàn quyền truy cập vào mọi thứ như thể bạn đang sử dụng Joomla CMS, nhưng không yêu cầu nào trong số đó. Bạn có thể đặt bất cứ thứ gì vào thiết kế và mã của bạn, tất cả trong khi truy cập cơ sở dữ liệu và hầu hết các chức năng khác từ Joomla nếu bạn cần chúng.
GDP

1
Wow, điều này thực sự tuyệt vời, tôi không biết rằng điều này có thể được thực hiện theo cách này. Đây có phải là từ các tài liệu? Tôi không thể tìm thấy thông tin này khi tìm kiếm.
ParanoidPenguin

Đó là, nhưng tôi bị lạc trong các tài liệu với tất cả các phiên bản, v.v.
GDP

Đối với những người theo kịch bản này, có một vấn đề với đường dẫn thư mục. xóa hai dấu chấm ".." trước đường dẫn bao gồm hoặc bạn có thể đặt "định nghĩa ('DS', DIRECTORY_SEPARATOR);" sau khi JPATH_BASE được xác định và sau đó sử dụng các mã này request_once (JPATH_BASE .DS.'includes'.DS.'defines.php '); request_once (JPATH_BASE .DS.'includes'.DS.'framework.php ');
David Addoteye

3

Bạn có thể. Nếu bạn sử dụng, giả sử, Akeeba Admin Tools Pro bạn sẽ phải đặt một số ngoại lệ, nhưng nói chung Joomla không quan tâm bạn có gì trong các thư mục và / hoặc tệp mà nó không sử dụng.

Nhưng có lẽ bạn không nên. Bạn có thể chỉ định mẫu hoạt động cho mỗi mục menu. Vì vậy, chỉ cần gán "trang con" của bạn một mẫu trông giống như bạn muốn. Tôi nghi ngờ việc tìm kiếm hoặc thậm chí tạo ra một mẫu đơn giản phù hợp với nhu cầu của bạn sẽ khó khăn đến thế.

Ngoài ra, các mẫu RocketTheme cho phép bạn tương đối dễ dàng tạo "ghi đè mẫu" với các cài đặt đã sửa đổi và gán chúng cho các mục menu. Về cơ bản, bạn sử dụng "lưu dưới dạng bản sao" từ mẫu hoặc "trùng lặp" từ trình quản lý mẫu.


@ ville-nieme Tôi quan tâm đến phần ghi đè mẫu, nhưng chỉ đơn giản là tạo kiểu cho một phần cụ thể của trang cho. Nếu tôi muốn nói, hãy bao quanh một bảng, hãy nói trong tổng thể <div class = "bảng đặc biệt> và sau đó gán ghi đè cho kiểu dáng sau: zurb.com/playground/responsive-tables Tôi sẽ đi đâu để làm điều này ? Đây có phải là vấn đề mà tôi muốn bao gồm một số tùy chỉnh JS không. Tôi không hoàn toàn mới đối với mã hóa, nhưng tôi chưa bao giờ thiết kế mẫu Joomla hoặc Wordpress.
ParanoidPenguin

@ParanoidPenguin Không, việc thêm css hoặc js vào các trang Joomla không thực sự khó khăn. Vì thực tế có rất nhiều cách để làm điều đó, tôi có vấn đề đưa ra lời khuyên cụ thể. Bạn thực sự không cần phải làm điều đó với các mẫu. Nếu chúng tôi giả sử một trang duy nhất, nghĩa là bạn không cần phải làm điều này ở bất kỳ nơi nào khác, bạn chỉ cần tạo một mô-đun HTML tùy chỉnh được gán cho trang và sau đó ở chế độ không wysiwyg, hãy dán js và css vào đó. Hoặc bạn có thể sử dụng bất kỳ tiện ích mở rộng nào có thể thực hiện với nhiều kiểu hơn. Hoặc thêm nó vào mẫu. Hoặc ... bạn có ý tưởng. Bạn có thể thêm các thuộc tính lớp trong trình soạn thảo.
Ville Niemi

... Tôi biết điều này có thể khá cơ bản, vì vậy sự nhiệt tình của tôi có thể hơi nhiều, nhưng bạn chỉ làm cho đêm của tôi. Tôi sẽ thử tối nay và hy vọng tôi kết thúc với một số bàn trông sang trọng. Cám ơn rất nhiều về sự giúp đỡ của bạn.
ParanoidPenguin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.