站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Gallery:整合的相关帮助指导
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== GalleryEmbed::init()的新(Gallery 2.1)说明 == $ret = GalleryEmbed::init($arguments); * $arguments是一个联合数组 * $ret是一个GalleryStatus对象 === 参数 === * '''activeUserId'''字串/mixed – 活动用户的emApp user Id(对匿名/游客用户则是空字串) * '''embedUri'''字串 – 通过CMS应用程序对G2进行访问的URI。所有嵌入G2请求的Base URL(在内部被称为baseUri)。协议及host名称是可选的。举例: <nowiki>/index.php?module=gallery2</nowiki>,<nowiki>/portal/index.php?module=gallery2</nowiki>,<nowiki>/</nowiki>,<nowiki>http://www.example.com/index.php?module=gallery2</nowiki>,<nowiki>www.example.com/portal/index.php?module=gallery2</nowiki> * '''g2Uri'''字串- G2独立位置的URI。自docroot至main.php目录的路径被定位。协议/host名称均为可选的。举例: <nowiki>/gallery2/</nowiki>, <nowiki>/sub/gallery2/</nowiki>,<nowiki>http://photos.example.com/</nowiki>,<nowiki>www.example.com/photos/main.php</nowiki>, * '''loginRedirect'''字串- 重新定向至emApp登入视图的URI(如:/emApp/index.php) * '''embedSessionString'''字串- (可选)要支持cookieless浏览,为emApp对话key传入key=value以及对话id值作为查询参量添加到url中 * '''gallerySessionId'''字串- (可选)要支持cookieless浏览,传入G2对话id(当没有使用cookies时,CMS必须在请求之间追踪此值) * '''activeLanguage'''字串- (可选)该对话正在使用的语言代码、格式:{LANG}_{COUNTRY},ISO语言和ISO国家代码(如en_US) * '''fullInit' => boolean - (可选)呼叫GalleryInitSecondPass(仅当不呼叫handleRequest时使用)。默认为false。 * '''apiVersion''' => array (int major, int minor) - (可选,但推荐使用)指定检查你的整合是否与嵌入API(Embed API)兼容 === 特定行为 === * '''embedUri''' 影响所有由G2生成的URL但不包括静态内容(css文件,java小程序文件,外观主题图片)以及core.DownloadItem URL。 ** 如未特别指定,G2基于当前REQUEST_URI及其默认的baseFile 'main.php'来生成URL。如果启用了重写模块,URL的生成则是基于被存储的embeddedLocation。 ** 如经指定且完整URL包括host字串,G2会生成以'{PROTOCOL}://{HOST}/{embedUri}'开头的URL。{PROTOCOL}和{HOST}由embedUri解析。{PROTOCOL}默认为'http',如通过https访问的话那就是'https'。 ** 如经指定并以'/'开头,就会使用自动检测到的{PROTOCOL}和{HOST}值生成URL。 ** 注:介于首个'/' (即协议http://之后的第一个)与最后一个'/'直接的内容将被解释为embedPath(对短URL来说很重要,因为短URL都有embedPath作为具有短url pendant的url的基础而其他类型的URL会以完整的embedUri开头)。 * '''g2Uri''' 影响所有由G2生成的URL,就算G2被嵌入了,这些URL也会直接指向独立的G2。即:core.DownloadItem以及所有静态内容(见前文)。 ** 如未特别指定,G2基于当前REQUEST_URI及其默认的baseFile 'main.php'来生成URL (除非指定了embedUri,URL才会基于embedUri生成) ** 如经指定并以'/'开头,G2就会生成以'{PROTOCOL}://{HOST}/{g2Path}'开头的URL。 ** 如经指定但不以'/'开头,G2就会生成以'{PROTOCOL}://{g2Path}'开头的URL。如果G2和emApp在不同的子域上时这就有用了。自动检测的{PROTOCOL} 如经指定也可被覆盖。 * '''fullInit'''影响G2的活动用户,默认为false。 ** 如未特别指定,你只能在GalleryEmbed::init()之后呼叫GalleryEmbed::handleRequest();如果你没有指定fullInit = true并呼叫了GalleryCoreApi或GalleryEmbed的其他方法的话,就很可能会发生错误。 ** 如设定为true,G2就被完全初始化了(基于当前对话对活动用户进行设定),而你则可以在GalleryEmbed::init()之后呼叫任何GalleryCoreApi或GalleryEmbed方法。 * '''activeUserId'''影响G2活动用户的对话。 ** 如省略,G2使用来自cookie(或来自GALLERYSID HTTP GET参数)的对话ID并在稍后的::handleRequest / fullInit中载入对应的对话数据/activeUser。 ** 如经指定,G2会比对activeUserId和来自对话的activeUserId(cookie / GET argument)。 *** If activeUserId == externalId from session:没有任何改变。 *** Else If activeUserId == '':对话 /活动用户被重置,activeUser = guest。 *** else (If activeUserId != externalId from session):被映射到externalId = activeUserId的G2用户被设定为该对话以及该请求的活动用户。 *** 注:如设定activeUserId了但尚未注册或映射到G2 userId的话,GalleryEmbed::init()会返回一个ERROR_MISSING_OBJECT。 *** 注:现有对话的活动语言当对话被重置/变更给另一个用户时仍被保留。 * '''activeLanguage'''影响对话及请求的活动语言。 ** 如省略,现有对话的活动语言不会被改变。如果是新对话的话,语言将会设为G2默认语言或(如有设定的话)对应G2用户所偏好的语言。 ** 如经指定,G2会检查符合{ll}_{CC}的某个语言代码,这里{ll}代表2字母小写的ÎSO语言代码,而{CC}则代表2字母大写的ISO国家代码。而它将回退默认可用的{ll}_?? translation,或是站点默认语言。 * '''loginRedirect'''影响G2中登入链接的URL。 ** 如省略,G2的登入链接仍会指向G2的登入表单,这样一来用户就无法自动登入到emApp中了。 ** 如经指定,G2的登入链接将会指向给定的URL,这样一来就能保证所有的用户能够登入emApp了。 ** 注:某个登入链接的显示与否取决于GalleryCapabilities::set('login', true|false); ,这在G2 standalone中被设定为true(也就是显示登入链接)并在GalleryEmbed::init();中设为false。如有必要,可在GalleryEmbed::init()呼叫之后将其重新设为true。 * '''embedSessionString'''影响cookie-less浏览(保留所有G2 URL中emApp的对话ID)。 ** 如省略,G2不会主动支持cookie-less浏览。 ** 如经指定,G2会将embedSessionString (字串格式{NAME}={VALUE}, {NAME} = URL GET argument应被后置到所有G2生成的URL,{VALUE}为值(对话id))后置到所有由G2生成的URL。这样一来就能保留URL中的emApp对话了。 *** 注:通常仅当emApp检测到用户代理程序不接受cookies时你才会定义embedSessionString,因为embedSessionString只会让URL变得更长更不美观而大部分用户都接受cookies。 * '''gallerySessionId'''影响cookie-less浏览(保留emApp对话中的G2对话ID)。 ** 如省略,当某用户自嵌入的G2浏览到emApp中的某个其他页面,而用户代理程序不接受cookies时,G2会丢失对话。 ** 如经指定,就算是进行cookie-less浏览,G2也不会丢失活动用户的对话。 *** 注:通常你会将G2对话ID存储在emApp的对话中,且如果emApp 检测到了cookie-less浏览的话,你还会指定gallerySessionId。在你的emApp封包中,在包括modules/core/classes/GallerySession.class和GalleryUtilities.class之后,你可以使用sessionId = GalleryUtilities::getRequestVariables(SESSION_ID_PARAMETER); 来获取G2对话ID。 * '''apiVersion'''为你的整合所兼容的Embed API版本。如经指定,Gallery会对照当前Embed API版本来检查你的API版本,而当你的整合不兼容时会返回错误''ERROR_PLUGIN_VERSION_MISMATCH''。我们极度推荐指定此参量。 === 评论请求 === * g2Uri和embedUri是现在仅有的URL / 路径相关的参量,且其所接受的格式很广泛:从完整URL(如:<nowiki>http://www.example.com/portal/index.php?module=gallery2</nowiki>)到index.php。但仅当对规则做严格要求时才有可能: ** gallery2,gallery2/ 和 /gallery2都会被作为host或文件来对待而不是路径。如果你想指定一个路径,那它就必须被'/'包括起来。此情况中唯一有效的值是/gallery2/。gallery2/将会被解析为host = gallery2,path = /. gallery2而/gallery2会被解释为path = /和file = gallery2。 ** 另一方面,遵循此规则并不难。那么你是怎么想的? * 我们是否该将embedUri / g2Uri拆分到强制性的embedPath + embedUri,g2Path以及可选的embedProtocol,embedHost,g2Protocol和g2Host中去呢? Internally, we make this distinction in g2 anyway. Would it be easier for integration writers to deal with g2Path which has always the same format and those integrations that also want to support different subdomains can put the G2 host string into g2Host? We could then treat g2Path = gallery2, gallery2/, /gallery2 and /gallery2/ all the same way, i.e. if you forget to add a leading / traling slash, it would still work. 90% of all one-time GalleryEmbed users would only need g2Path and embedPath + embedUri. The question is: is this concept of split up embedUri + embedPath too confusing? We could still have this approach and merge embedUri and embedPath into a single embedUri and still be quite tolerant to missing leading '/'. * 当为G2和emApp使用不同子域时,不要忘记添加有关cookie domain/路径的资料。或许在GalleryEmbed中有便捷的方法可以设定cookie参量。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)