在我的Concrete5中,有一个包含许多单页的包,它实际上构成了核心功能(社区连接)。
有一个特定页面包含搜索功能。有没有办法把这个页面的中心部分以某种方式显示在主页,div元素或类似的东西?
答案 0 :(得分:2)
您可以使用jquery .load()执行此操作 在单个页面上,将要导入的内容包装在具有唯一ID的div中。 在主页上,添加div以将内容导入
// Get the URL of the page
var url = "relative/path/to/page;
// Load the new page into the temp container
// Replace #wrapper with the selector of the element you want to import
$("#import-content").load(url + " #wrapper");
答案 1 :(得分:1)
您应该可以通过在single_page的控制器中创建一个新的公共函数来执行此操作,该函数返回您想要的任何内容(然后您可以使用HTML呈现数据,或者您可以让控制器方法本身呈现“元素”使用一些数据,或者如果你想完全违反MVC模式,只需在控制器方法本身中创建一个HTML字符串。)
然后您应该能够从其他页面检索该数据或标记,如下所示:
$myController = Loader::controller('/path/to/singlepage'); //<--NOTE this is a C5 URL path (e.g. "slug"), not a server file path!
$myMarkup = $myController->myCustomFunctionIWroteToReturnSomeStuff();
echo $myMarkup;