本文整理汇总了PHP中ArticleModel::findPublishedByIdOrAliasAndPid方法的典型用法代码示例。如果您正苦于以下问题:PHP ArticleModel::findPublishedByIdOrAliasAndPid方法的具体用法?PHP ArticleModel::findPublishedByIdOrAliasAndPid怎么用?PHP ArticleModel::findPublishedByIdOrAliasAndPid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArticleModel
的用法示例。
在下文中一共展示了ArticleModel::findPublishedByIdOrAliasAndPid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFrontendModule
/**
* Generate a front end module and return it as string
*
* @param mixed $intId A module ID or a Model object
* @param string $strColumn The name of the column
*
* @return string The module HTML markup
*/
public static function getFrontendModule($intId, $strColumn = 'main')
{
if (!is_object($intId) && !strlen($intId)) {
return '';
}
/** @var \PageModel $objPage */
global $objPage;
// Articles
if (!is_object($intId) && $intId == 0) {
// Show a particular article only
if ($objPage->type == 'regular' && \Input::get('articles')) {
list($strSection, $strArticle) = explode(':', \Input::get('articles'));
if ($strArticle === null) {
$strArticle = $strSection;
$strSection = 'main';
}
if ($strSection == $strColumn) {
$objArticle = \ArticleModel::findPublishedByIdOrAliasAndPid($strArticle, $objPage->id);
// Send a 404 header if there is no published article
if (null === $objArticle) {
/** @var \PageError404 $objHandler */
$objHandler = new $GLOBALS['TL_PTY']['error_404']();
$objHandler->generate($objPage->id);
}
// Send a 403 header if the article cannot be accessed
if (!static::isVisibleElement($objArticle)) {
/** @var \PageError403 $objHandler */
$objHandler = new $GLOBALS['TL_PTY']['error_403']();
$objHandler->generate($objPage->id);
}
// Add the "first" and "last" classes (see #2583)
$objArticle->classes = array('first', 'last');
return static::getArticle($objArticle);
}
}
// HOOK: trigger the article_raster_designer extension
if (in_array('article_raster_designer', \ModuleLoader::getActive())) {
return \RasterDesigner::load($objPage->id, $strColumn);
}
// Show all articles (no else block here, see #4740)
$objArticles = \ArticleModel::findPublishedByPidAndColumn($objPage->id, $strColumn);
if ($objArticles === null) {
return '';
}
$return = '';
$intCount = 0;
$blnMultiMode = $objArticles->count() > 1;
$intLast = $objArticles->count() - 1;
while ($objArticles->next()) {
/** @var \ArticleModel $objRow */
$objRow = $objArticles->current();
// Add the "first" and "last" classes (see #2583)
if ($intCount == 0 || $intCount == $intLast) {
$arrCss = array();
if ($intCount == 0) {
$arrCss[] = 'first';
}
if ($intCount == $intLast) {
$arrCss[] = 'last';
}
$objRow->classes = $arrCss;
}
$return .= static::getArticle($objRow, $blnMultiMode, false, $strColumn);
++$intCount;
}
return $return;
} else {
if (is_object($intId)) {
$objRow = $intId;
} else {
$objRow = \ModuleModel::findByPk($intId);
if ($objRow === null) {
return '';
}
}
// Check the visibility (see #6311)
if (!static::isVisibleElement($objRow)) {
return '';
}
$strClass = \Module::findClass($objRow->type);
// Return if the class does not exist
if (!class_exists($strClass)) {
static::log('Module class "' . $strClass . '" (module "' . $objRow->type . '") does not exist', __METHOD__, TL_ERROR);
return '';
}
$objRow->typePrefix = 'mod_';
/** @var \Module $objModule */
$objModule = new $strClass($objRow, $strColumn);
$strBuffer = $objModule->generate();
// HOOK: add custom logic
if (isset($GLOBALS['TL_HOOKS']['getFrontendModule']) && is_array($GLOBALS['TL_HOOKS']['getFrontendModule'])) {
foreach ($GLOBALS['TL_HOOKS']['getFrontendModule'] as $callback) {
//.........这里部分代码省略.........