Gallery:模块:htmlblock

来自站长百科
跳转至: 导航、​ 搜索

HTML Block模块[ ]

  • 使得区块对外观主题可用以显示被创建的HTML页面。
  • 显示HTML页面。
  • 渲染模板文件。

描述[ ]

创建HTML页面和模板。并将它们作为区块添加到页面中去。 允许直接链接到模板。 如果你在编辑一个HTML文件,TinyMCE编辑器会自动启动。

特点[ ]

  • WYSIWYG HTML编辑器 - TinyMCE
  • 插入Gallery图片。
  • 渲染模板文件。

用法[ ]

  • 在此下载该模块:论坛页面
  • 站点管理(site admin) -> 模块(modules)中安装并激活该模块。
  • 创建/编辑你的HTML/TPL文件。
  • 站点管理(site admin) -> 外观主题(themes) -> matrix(或其他活动的/已使用的外观主题)中添加HTML区块至边栏。
  • 站点管理(site admin) -> 外观主题(themes) -> matrix添加HTML区块至相册/相片页面。
  • 现在你和你的访问者就能在所有的相册/相片页面的边栏中看到HTML区块了。
  • 如果显示整个HTML页面,你可以激活URL重写部分。显示如http://www.your.site/gallery2/file/MyFile.html 这样的页面。
  • 如果未指定显示文件,就会默认为FrontPage.tpl。

举例[ ]

要创建可能含有任何内容(包括任何的gallery区块)的gallery主页

  • 创建一个FrontPage.tpl文件
  • 插入内容
  {* 显示systemlink *}
  {g->block type="core.SystemLinks"}
  {* 显示一个图片 *}
  <div>
  {g->block type="imageblock.ImageBlock" blocks="specificItem" maxSize="400"
    itemId=123456 useDefaults=0 showDate=0 showViews=0 showOwner=1 showTitle=1 }
  </div>
  {* 显示一个HTML文件*}
  <div>
  {g->block type="htmlblock.HTMLBlock" file="my-content.html"}
  </div>
  {* 向你的用户问好*}
  <div>
  {capture name="lang"}{g->language}{/capture}
  {assign var="lang" value=$smarty.capture.lang}
  {if $lang == "en-US"}
    {assign var="greeting" value="Hello"}
  {elseif $lang == "ro-RO"}
    {assign var="greeting" value="Salut"}
  {/if}
  {$greeting} {$user.userName}
  </div>
  • 将入口页重定向至http://www.my.site/gallery2/file/FrontPage.tpl

  • 在main.php中的此行之后(对G2.2.4是312)
   /* 载入并运行合适的视图 */

插入:

    /* Serban:如果未经嵌入并为空视图,不是一个路径也不是一个指定的项目
        go to htmlblock.RenderFile, with no args, so it will take the default, FrontPage.tpl */
    $rewritePath = (isset($_GET[GALLERY_FORM_VARIABLE_PREFIX . 'path']) ?
                    $_GET[GALLERY_FORM_VARIABLE_PREFIX . 'path'] : null);
    $itemId = (int)(isset($_GET[GALLERY_FORM_VARIABLE_PREFIX . 'itemId']) ?
                    $_GET[GALLERY_FORM_VARIABLE_PREFIX . 'itemId'] : null);
    $page = (int)(isset($_GET[GALLERY_FORM_VARIABLE_PREFIX . 'page']) ?
                    $_GET[GALLERY_FORM_VARIABLE_PREFIX . 'page'] : null);

    if (empty($viewName) && !$gallery->isEmbedded() && empty($itemId) && empty($rewritePath) && empty($page)) {
        $viewName='htmlblock.RenderFile';
        GalleryUtilities::putRequestVariable('view', $viewName);
    }
    /* Serban:标题页修改结束 */

自定义[ ]

要允许tiny mce编辑器不移除Javascript标记: 编辑/templates/TileEdit.tpl 将

       extended_valid_elements : "a[name|href|target|title|onclick],img 
[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font
[face|size|color|style],span[class|align|style]",

修改为:

       extended_valid_elements : "a[name|href|target|title|onclick],img 
[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font
[face|size|color|style],span[class|align|style],script[charset|defer|language|src|type]",

被请求的特点[ ]

目前尚无有关该模块的特点请求。

Bug[ ]

目前尚无有关该模块的已知问题。

多站点[ ]

  • 在多站点中,由于某些javascript的问题,产生了错误(看起来是TinyMCE版本的已知BUG),用V3.0替换包括的TinyMCE就解决了。
  • 由于安全性问题,不可能再多站点中使用TinyMCE的pop-up,所以我在FileEdit.tpl文件中将它们都禁用了。
  • 对于新的TinyMCE 3,我碰上了UTF8的一些问题,向FileEdit.tpl中的呼叫添加entity_encoding : "raw"就可以解决了。

这是FileEdit.tpl 中的结果呼叫:

tinyMCE.init({
entity_encoding : "raw",
mode : "textareas",
theme : "advanced",
plugins : "insertdatetime,print,fullscreen,noneditable,visualchars,nonbreaking",
theme_advanced_disable: "link,unlink,image,anchor,help,visualaid,charmap,css,code",
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
theme_advanced_buttons2_add : "|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons2_add_before: "cut,copy,paste,separator",
theme_advanced_buttons3_add : "|,visualchars,nonbreaking,|,print,|,fullscreen",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",
extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
content_css: "{/literal}{g->url href="`$theme.themeUrl`/theme.css" forceFullUrl=1}{literal}"
});

Cumgranosalis 2008年2月18日,15:21 (PST)

已计划的开发目标[ ]

  • 改善文件的管理
  • 区块的下拉选择器
  • 改良界面外观