本文整理汇总了PHP中ThemeUtil::getTheme方法的典型用法代码示例。如果您正苦于以下问题:PHP ThemeUtil::getTheme方法的具体用法?PHP ThemeUtil::getTheme怎么用?PHP ThemeUtil::getTheme使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ThemeUtil
的用法示例。
在下文中一共展示了ThemeUtil::getTheme方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: smarty_function_previewimage
/**
* Zikula_View function to display a preview image from a theme
*
* Available parameters:
* - name name of the theme to display the preview image for
* - name if set, the id assigned to the image
* - size if set, the size of the image to use from small, medium, large (optional: default 'medium')
* - assign if set, the title will be assigned to this variable
*
* Example
* {previewimage name=andreas08 size=large}
*
* @param array $params All attributes passed to this function from the template.
* @param Zikula_View $view Reference to the Zikula_View object.
*
* @see function.title.php::smarty_function_previewimage()
*
* @return string The markup to display the theme image.
*/
function smarty_function_previewimage($params, Zikula_View $view)
{
if (!isset($params['name'])) {
$view->trigger_error(__f('Error! in %1$s: the %2$s parameter must be specified.', array('previewimage', 'name')));
return false;
}
if (!isset($params['size']) || !in_array($params['size'], array('large', 'medium', 'small'))) {
$params['size'] = 'medium';
}
$idstring = '';
if (isset($params['id'])) {
$idstring = " id=\"{$params['id']}\"";
}
$themeinfo = ThemeUtil::getInfo(ThemeUtil::getIDFromName($params['name']));
$theme = ThemeUtil::getTheme($themeinfo['name']);
$themePath = null === $theme ? "themes/{$themeinfo['directory']}/images" : $theme->getRelativePath() . '/Resources/public/images';
if (file_exists("{$themePath}/preview_{$params['size']}.png")) {
$filesrc = "{$themePath}/preview_{$params['size']}.png";
} else {
$filesrc = "system/ThemeModule/Resources/public/images/preview_{$params['size']}.png";
}
$markup = "<img{$idstring} src=\"{$filesrc}\" alt=\"\" />";
if (isset($params['assign'])) {
$view->assign($params['assign'], $markup);
} else {
return $markup;
}
}
示例2: __construct
public function __construct()
{
$themeName = \UserUtil::getTheme();
$theme = \ThemeUtil::getTheme($themeName);
if (null !== $theme && is_readable($path = $theme->getConfigPath() . '/overrides.yml')) {
// bundle type theme
$this->overrideMap = Yaml::parse(file_get_contents($path));
} elseif (is_readable("themes/{$themeName}/templates/overrides.yml")) {
// pre-1.4.0 style theme
$this->_overrideMap = Yaml::parse(file_get_contents("themes/{$themeName}/templates/overrides.yml"));
}
}
示例3: varAction
/**
* Configure a theme's variables based on provided .yml definitions for each field.
* @Route("/admin/var/{themeName}")
* @todo change route name to /admin/variable/{themeName} when similar named is removed?
* @Theme("admin")
*
* @param Request $request
* @param string $themeName
* @return mixed
* @throws \InvalidArgumentException if theme type is not twig-based
*/
public function varAction(Request $request, $themeName)
{
$themeBundle = \ThemeUtil::getTheme($themeName);
if (!$themeBundle->isTwigBased()) {
throw new NotFoundHttpException('Theme type must be twig-based in ' . __FILE__ . ' at line ' . __LINE__ . '.');
}
$themeVarsPath = $themeBundle->getConfigPath() . '/variables.yml';
if (!file_exists($themeVarsPath)) {
$this->addFlash('warning', $this->__f('%theme% has no configuration.', array('%theme%' => $themeName)));
return $this->redirect($this->generateUrl('zikulathememodule_admin_view'));
}
$variableDefinitions = Yaml::parse(file_get_contents($themeVarsPath));
/** @var \Symfony\Component\Form\FormBuilder $formBuilder */
$formBuilder = $this->createFormBuilder($themeBundle->getThemeVars());
foreach ($variableDefinitions as $fieldName => $definitions) {
$options = isset($definitions['options']) ? $definitions['options'] : [];
if (isset($definitions['type'])) {
$formBuilder->add($fieldName, $definitions['type'], $options);
}
}
$formBuilder->add('save', 'submit', array('label' => $this->__('Save'), 'icon' => 'fa-check fa-lg', 'attr' => array('class' => "btn btn-success")))->add('toDefault', 'submit', array('label' => $this->__('Set to defaults'), 'icon' => 'fa-refresh fa-lg', 'attr' => array('class' => "btn btn-primary")))->add('cancel', 'submit', array('label' => $this->__('Cancel'), 'icon' => 'fa-times fa-lg', 'attr' => array('class' => "btn btn-danger")));
$form = $formBuilder->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
if ($form->get('save')->isClicked()) {
// pseudo-hack to save theme vars in to modvars table
\ModUtil::setVars($themeName, $form->getData());
$this->addFlash('status', $this->__('Done! Theme configuration updated.'));
} elseif ($form->get('toDefault')->isClicked()) {
\ModUtil::setVars($themeName, $themeBundle->getDefaultThemeVars());
$this->addFlash('status', $this->__('Done! Theme configuration updated to default values.'));
} elseif ($form->get('cancel')->isClicked()) {
$this->addFlash('status', $this->__('Operation cancelled.'));
}
return $this->redirect($this->generateUrl('zikulathememodule_admin_view'));
}
return $this->render('ZikulaThemeModule:Admin:var.html.twig', ['themeName' => $themeName, 'form' => $form->createView()]);
}
示例4: smarty_function_img
//.........这里部分代码省略.........
}
// always provide an alt attribute.
// if none is set, assign an empty one.
$params['alt'] = isset($params['alt']) ? $params['alt'] : '';
// prevent overwriting surrounding titles (#477)
if (isset($params['title']) && empty($params['title'])) {
unset($params['title']);
}
// language
$lang = ZLanguage::transformFS(ZLanguage::getLanguageCode());
if ($sysplugin) {
$osplugdir = DataUtil::formatForOS($sysplugin);
$pluglangpath = "plugins/{$osplugdir}/images/{$lang}";
$plugpath = "plugins/{$osplugdir}/images";
// form the array of paths
$paths = array($pluglangpath, $plugpath);
} else {
// module directory
if ($modname != 'core') {
$modinfo = ModUtil::getInfoFromName($modname);
$osmoddir = DataUtil::formatForOS($modinfo['directory']);
$moduleDir = $modinfo['type'] == ModUtil::TYPE_SYSTEM ? 'system' : 'modules';
}
if ($modplugin) {
$osmodplugdir = DataUtil::formatForOS($modplugin);
$modpluglangpath = "{$moduleDir}/{$osmoddir}/plugins/{$osmodplugdir}/Resources/public/images/{$lang}";
$modplugpath = "{$moduleDir}/{$osmoddir}/plugins/{$osmodplugdir}/Resources/public/images";
$modpluglangpathOld = "{$moduleDir}/{$osmoddir}/plugins/{$osmodplugdir}/images/{$lang}";
$modplugpathOld = "{$moduleDir}/{$osmoddir}/plugins/{$osmodplugdir}/images";
// form the array of paths
$paths = array($modpluglangpath, $modplugpath, $modpluglangpathOld, $modplugpathOld);
} else {
// theme directory
$ostheme = DataUtil::formatForOS(UserUtil::getTheme());
$theme = ThemeUtil::getTheme($ostheme);
$themePath = null === $theme ? '' : $theme->getRelativePath() . '/Resources/public/images';
$themepath = $themePath;
$corethemepath = "themes/{$ostheme}/images";
if ($modname == 'core') {
$modpath = "images";
$paths = array($themepath, $corethemepath, $modpath);
} else {
$osmodname = DataUtil::formatForOS($modname);
$themelangpath = "{$themePath}/{$lang}";
$themelangpathOld = "themes/{$ostheme}/templates/modules/{$osmodname}/images/{$lang}";
$themepathOld = "themes/{$ostheme}/templates/modules/{$osmodname}/images";
$module = ModUtil::getModule($modinfo['name']);
$moduleBasePath = null === $module ? '' : $module->getRelativePath() . '/Resources/public/images';
$modlangpath = "{$moduleBasePath}/{$lang}";
$modpath = $moduleBasePath;
$modlangpathOld = "{$moduleDir}/{$osmoddir}/images/{$lang}";
$modpathOld = "{$moduleDir}/{$osmoddir}/images";
$modlangpathOld2 = "{$moduleDir}/{$osmoddir}/pnimages/{$lang}";
$modpathOld2 = "{$moduleDir}/{$osmoddir}/pnimages";
// form the array of paths
if (preg_match('/^admin.(png|gif|jpg)$/', $params['src'])) {
// special processing for modules' admin icon
$paths = array($modlangpath, $modpath, $modlangpathOld, $modpathOld, $modlangpathOld, $modpathOld, $modlangpathOld2, $modpathOld2);
} else {
$paths = array($themelangpath, $themepath, $themelangpathOld, $themepathOld, $corethemepath, $modlangpath, $modpath, $modlangpathOld, $modpathOld, $modlangpathOld2, $modpathOld2);
}
}
}
}
$ossrc = DataUtil::formatForOS($params['src']);
// search for the image
示例5: _base_vars
/**
* Assign template vars for base theme paths and other useful variables.
*
* @return void
*/
private function _base_vars()
{
// identify the page type
$this->pagetype = 'module';
if (stristr(System::serverGetVar('PHP_SELF'), 'admin.php') || strtolower($this->type) == 'admin') {
$this->pagetype = 'admin';
} else {
$module = FormUtil::getPassedValue('module', null, 'GETPOST', FILTER_SANITIZE_STRING);
if (empty($module)) {
$this->pagetype = 'home';
}
}
// set some basic class variables from Zikula
$this->isloggedin = UserUtil::isLoggedIn();
$this->uid = UserUtil::getVar('uid');
// assign the query string
$this->qstring = System::serverGetVar('QUERY_STRING', '');
// assign the current script
$this->requesturi = System::getCurrentUri();
// define the cache_id if not set yet
if ($this->caching && !$this->cache_id) {
// module / type / function / customargs|homepage/startpageargs / uid_X|guest
$this->cache_id = $this->toplevelmodule . '/' . $this->type . '/' . $this->func . (!$this->homepage ? $this->_get_customargs() : '/homepage/' . str_replace(',', '/', System::getVar('startargs'))) . '/' . UserUtil::getUidCacheString();
}
// assign some basic paths for the engine
$this->template_dir = $this->themepath . '/templates';
// default directory for templates
$this->themepath = 'themes/' . $this->directory;
$theme = ThemeUtil::getTheme($this->name);
if (null === $theme) {
$this->imagepath = $this->themepath . '/images';
$this->imagelangpath = $this->themepath . '/images/' . $this->language;
$this->stylepath = $this->themepath . '/style';
$this->scriptpath = $this->themepath . '/javascript';
} else {
$this->imagepath = $this->themepath . '/Resources/public/images';
$this->imagelangpath = $this->themepath . '/Resources/public/images/' . $this->language;
$this->stylepath = $this->themepath . '/Resources/public/css';
$this->scriptpath = $this->themepath . '/Resources/public/js';
}
// make the base vars available to all templates
$this->assign('module', $this->toplevelmodule)->assign('uid', $this->uid)->assign('loggedin', $this->isloggedin)->assign('pagetype', $this->pagetype)->assign('themepath', $this->themepath)->assign('imagepath', $this->imagepath)->assign('imagelangpath', $this->imagelangpath)->assign('stylepath', $this->stylepath)->assign('scriptpath', $this->scriptpath);
// load the theme variables
$variables = ModUtil::apiFunc('ZikulaThemeModule', 'user', 'getvariables', array('theme' => $this->name));
$this->assign($variables['variables']);
}
示例6: prepareStylesheets
/**
* Procedure for managinig stylesheets.
*
* @param array $stylesheets List of demanded stylesheets.
* @param array $themeinfo array of info on current theme
* @param boolean $isAdminController
*
* @return array List of stylesheets
*/
public static function prepareStylesheets($stylesheets, $themeinfo = array(), $isAdminController = false)
{
if (ThemeUtil::getVar('noCoreCss', false)) {
$initStyle = null;
} else {
$initStyle = array('style/core.css');
}
// Add generic stylesheet as the first stylesheet.
$event = new \Zikula\Core\Event\GenericEvent('stylesheet', array(), $initStyle);
$coreStyle = EventUtil::getManager()->dispatch('pageutil.addvar_filter', $event)->getData();
if (!is_array($stylesheets)) {
$stylesheets = array();
}
// Add legacy stylesheet
if (System::isLegacyMode('1.4.0')) {
array_unshift($stylesheets, 'style/legacy.css');
}
// Add core stylesheet
array_unshift($stylesheets, $coreStyle[0]);
// is theme a 1.4.0 type bundle?
$theme = null;
if (!empty($themeinfo)) {
$theme = ThemeUtil::getTheme($themeinfo['name']);
}
// Add bootstrap stylesheet only for 1.4.x type themes or if an admin controller is in use
if (isset($theme) || $isAdminController) {
$overrideBootstrapPath = ThemeUtil::getVar('bootstrapPath', '');
// allows for theme override of bootstrap css path
if (empty($overrideBootstrapPath)) {
$bootstrapFontAwesomePath = ServiceUtil::getManager()->getParameter('zikula.stylesheet.bootstrap-font-awesome.path');
array_unshift($stylesheets, $bootstrapFontAwesomePath);
}
// Add font-awesome
if (!empty($overrideBootstrapPath)) {
$fontAwesomePath = ServiceUtil::getManager()->getParameter('zikula.stylesheet.fontawesome.min.path');
array_unshift($stylesheets, $fontAwesomePath);
}
$stylesheets = array_unique(array_values($stylesheets));
}
$iehack = '<!--[if IE]><link rel="stylesheet" type="text/css" href="style/core_iehacks.css" media="print,projection,screen" /><![endif]-->';
PageUtil::addVar('header', $iehack);
return $stylesheets;
}
示例7: __construct
/**
* Constructor.
*
* @param Zikula_ServiceManager $serviceManager ServiceManager.
* @param string $moduleName Module name ("zikula" for system plugins).
* @param integer|null $caching Whether or not to cache (Zikula_View::CACHE_*) or use config variable (null).
*/
public function __construct(Zikula_ServiceManager $serviceManager, $moduleName = '', $caching = null)
{
$this->serviceManager = $serviceManager;
$this->eventManager = $this->serviceManager->get('event_dispatcher');
$this->request = \ServiceUtil::get('request');
// set the error reporting level
$this->error_reporting = isset($GLOBALS['ZConfig']['Debug']['error_reporting']) ? $GLOBALS['ZConfig']['Debug']['error_reporting'] : E_ALL;
$this->error_reporting &= ~E_USER_DEPRECATED;
$this->allow_php_tag = true;
// get variables from input
$module = FormUtil::getPassedValue('module', null, 'GETPOST', FILTER_SANITIZE_STRING);
$type = FormUtil::getPassedValue('type', 'user', 'GETPOST', FILTER_SANITIZE_STRING);
$func = FormUtil::getPassedValue('func', 'main', 'GETPOST', FILTER_SANITIZE_STRING);
// set vars based on the module structures
$this->homepage = PageUtil::isHomepage();
$this->type = strtolower(!$this->homepage ? $type : System::getVar('starttype'));
$this->func = strtolower(!$this->homepage ? $func : System::getVar('startfunc'));
// Initialize the module property with the name of
// the topmost module. For Hooks, Blocks, API Functions and others
// you need to set this property to the name of the respective module!
$this->toplevelmodule = ModUtil::getName();
if (!$moduleName) {
$moduleName = $this->toplevelmodule;
}
$this->modinfo = ModUtil::getInfoFromName($moduleName);
$this->module = array($moduleName => $this->modinfo);
// initialise environment vars
$this->language = ZLanguage::getLanguageCode();
$this->baseurl = System::getBaseUrl();
$this->baseuri = System::getBaseUri();
// system info
$this->themeinfo = ThemeUtil::getInfo(ThemeUtil::getIDFromName(UserUtil::getTheme()));
$this->theme = $theme = $this->themeinfo['directory'];
$themeBundle = ThemeUtil::getTheme($this->themeinfo['name']);
//---- Plugins handling -----------------------------------------------
// add plugin paths
switch ($this->modinfo['type']) {
case ModUtil::TYPE_MODULE:
$mpluginPathNew = "modules/" . $this->modinfo['directory'] . "/Resources/views/plugins";
$mpluginPath = "modules/" . $this->modinfo['directory'] . "/templates/plugins";
break;
case ModUtil::TYPE_SYSTEM:
$mpluginPathNew = "system/" . $this->modinfo['directory'] . "/Resources/views/plugins";
$mpluginPath = "system/" . $this->modinfo['directory'] . "/templates/plugins";
break;
default:
$mpluginPathNew = "system/" . $this->modinfo['directory'] . "/Resources/views/plugins";
$mpluginPath = "system/" . $this->modinfo['directory'] . "/templates/plugins";
}
// add standard plugin search path
$this->plugins_dir = array();
$this->addPluginDir('config/plugins');
// Official override
$this->addPluginDir('lib/legacy/viewplugins');
// Core plugins
$this->addPluginDir(isset($themeBundle) ? $themeBundle->getRelativePath() . '/plugins' : "themes/{$theme}/plugins");
// Theme plugins
$this->addPluginDir('plugins');
// Smarty core plugins
$this->addPluginDir($mpluginPathNew);
// Plugins for current module
$this->addPluginDir($mpluginPath);
// Plugins for current module
// check if the 'type' parameter in the URL is admin or adminplugin
$legacyControllerType = FormUtil::getPassedValue('lct', 'user', 'GETPOST', FILTER_SANITIZE_STRING);
if ($type === 'admin' || $type === 'adminplugin' || $legacyControllerType === 'admin') {
// include plugins of the Admin module to the plugins_dir array
if (!$this instanceof Zikula_View_Theme) {
$this->addPluginDir('system/AdminModule/Resources/views/plugins');
} else {
$this->load_filter('output', 'admintitle');
}
}
// theme plugins module overrides
$themePluginsPath = isset($themeBundle) ? $themeBundle->getRelativePath() . '/modules/$moduleName/plugins' : "themes/{$theme}/templates/modules/{$moduleName}/plugins";
$this->addPluginDir($themePluginsPath);
//---- Cache handling -------------------------------------------------
if ($caching && in_array((int) $caching, array(0, 1, 2))) {
$this->caching = (int) $caching;
} else {
$this->caching = (int) ModUtil::getVar('ZikulaThemeModule', 'render_cache');
}
$this->compile_id = '';
$this->cache_id = '';
// template compilation
$this->compile_dir = CacheUtil::getLocalDir('view_compiled');
$this->compile_check = ModUtil::getVar('ZikulaThemeModule', 'render_compile_check');
$this->force_compile = ModUtil::getVar('ZikulaThemeModule', 'render_force_compile');
// template caching
$this->cache_dir = CacheUtil::getLocalDir('view_cache');
$this->cache_lifetime = ModUtil::getVar('ZikulaThemeModule', 'render_lifetime');
$this->expose_template = ModUtil::getVar('ZikulaThemeModule', 'render_expose_template') == true ? true : false;
// register resource type 'z' this defines the way templates are searched
//.........这里部分代码省略.........
示例8: getThemeDomain
/**
* Get theme domain.
*
* @param string $name Theme name.
*
* @return string
*/
public static function getThemeDomain($name)
{
$theme = ThemeUtil::getTheme($name);
return null === $theme ? strtolower("theme_{$name}") : $theme->getTranslationDomain();
}