2007年12月31日

1、修改:locallang.php文件   49行为     "pi1_sheet_charset3" => "GB2312",
2、修改class.tx_twrssfeeds_pi1.php,93行为                 $content .= mb_convert_encoding($this->parseRSS($get_thefeed),"UTF-8","GB2312");

这样就可以订阅gb2312码的源,以utf-8的编码输出了,具体示例见www.jilupian.com,中国纪录片俱乐部的效果。

2007年07月23日

原文链接www.dawsoninteractive.com/articles/article/typo3-seo-introduction/

在接下来系列文章中,我的目的是证明,为了搜索引擎优化,我为什么以Typo3作为我的内容管理系统,Typo3可证明是一个强大易于扩展的企业级开放内容管理框架。

搜索引擎优化:面向机器人的网页设计

我告诉我的客户,使用Typo3,你能想到什么,你就能得到什么。通常,我提到的人机接口设计——意思是在Typo3这个强大灵活的后台框架上,去实施任何的可视接口。好,这个对SEO也是一样的。因为SEO毕竟是在制作更友好的可视接口上是最后的处理过程,好的设计,仍然,必须首先考虑谁是你的目标客户,并且,为谁设计,所以,SEO就仅仅是面向机器人的好的网页设计。而且因为Typo3能很容易的适应任何的设计,所以使用Typo3SEO真是小菜一碟。

对于你们这类面向优化的程序员而言,逻辑就简单明了:

  • l  SEO是面向搜索引擎蜘蛛的UI设计
  • l  Typo3可以支持任何的UI设计
  • l  那么,Typo3可以满足任何的搜索引擎优化需求

首先,我应该考虑那些SEO因素?

 

好问题。但是,因为这系列文章的目的,我假定你已经对那些需要考虑的SEO等级因素已经得到了一些结论。如果你还没有完成这个环节,以下这两个资源将给你所有你入手必须的信息。

1

SEOmoz.org.在当今,它是权威,全面和免费的SEO资源之一,依照他们自己的描述,SEOmoz“代表了世界上37个搜索引擎优化领导者的集体智慧,而且,他们评选出了一系列被认定为组成GOOGLE等级算法的因素(决定搜索引擎排序结果的方法)。这一结果具有难以置信的价值。”而我同意他们的评价。

2

SEObook.com. 排名第一,并且有很多权威的SEO电子书,这使得SEO不再是难事。相反,作者亚伦 沃尔,是被广泛认可的在搜索引擎优化领域的专家,他证明了为你的网站增加流量比你自己要想的容易。不但这本书在SEO领域是权威的资源,而且他还会终生无偿的更新;随着搜索引擎算法改变,那么SEO电子书呢,还是任何商业或SEO专业人员必读的。

使用Typo3进行优化的十个重要的技巧

在这十部分的系列文章中,我将演示,你如何能使用Typo3去实施十个具备共性的页面搜索引擎等级因素,并且简单便于理解,我将为每个搜索引擎优化因素单独发布文章,这些因素我已经选好,并罗列如下:

  1. Title Tags – Customizing your <title> tags with Typo3
  2. Page URLs – Generating simple, keyword specific URLs with Typo3
  3. Meta Tags: Creating keyword targeted meta tags with Typo3
  4. H Tags: Customizing your H1, H2, H(x) tags with Typo3
  5. Image Tags: Customizing ALT tags and image titles with Typo3
  6. Body Text: Using content elements to improve body quality with Typo3
  7. Internal Links: Increasing internal link popularity with Typo3
  8. External Links: Increasing outbound link quality with Typo3
  9. Site Organization: Achieving better information architecture with Typo3
  10. Site Maps: Generating textual and XML sitemaps with Typo3
2007年07月19日

下载安装weeaar_googleSitemap

以下代码写入Template setup,从页面1开始(pid_list),输出TT_NEWS,NEWS存储在2文件夹,单页编号为3,禁止了时间以及其他代码。
—————————————————————————–
sitemap = PAGE

sitemap {

  typeNum = 200

  10 >

  10 < plugin.tx_weeaargooglesitemap_pi1

  10.pid_list = 1

  10.recursive = 0

  10.allowedDoktypes =

  10.domain = http://www.getting-rich-online.com/

  10.tt_news.single_page{ 
    1 = 3 
    1.pid_list = 2
    } 
  10.tt_news {

    disabledParameter = day,month,year

  }
 
  config {

    disableAllHeaderCode = 1

    additionalHeaders = Content-type:text/xml

    no_cache = 1

    xhtml_cleaning = 0

  }

}

—————————————————————————-
配置realurl

—————————————————-

                'sitemap.xml' => array(                    'keyValues' => array(                        'type' => 200,                    ),                ),

—————————————————–

2007年07月18日

page.headerData.10 = HMENU
page.headerData.10{
wrap = <title>|</title>
special = rootline
special.range = 0|-1

1 = TMENU
1.NO.doNotLinkIt=1
1.NO.stdWarp.noTrimWrap = | | |
1.NO.allWrap = |-|-|-|-|
}

会生成类似
纪录片在线-新闻咨询-国内新闻

这样结构的title数据

2007年06月22日

先下载下来一个升级包

wget -d http://……………..typo3_src+dummy_4.1.1.zip

unzip typo3_src+dummy_4.1.1.zip -d upgrade_temp

备份一下文件

mv typo3 upgrade_temp
mv t3lib upgrade_temp
mv index.php upgrade_temp

具体参照http://typo3.org/documentation/document-library/installation/doc_inst_upgr/1.0.0/view/4/3/#id2841612

备份一下数据库

mysqldump -u xxx -p databasename > backup.sql
输入密码。。

备份成功!

把新的文件移动到主目录,也就是刚才备份的那些文件

现在到主站点开始操作了

先到typo3conf目录下面

touch ENABLE_INSTALL_TOOL

打开typo3 install操作权限

然后按照

http://typo3.org/documentation/document-library/installation/doc_inst_upgr/1.0.0/view/4/3/#id2841612

链接 在Database Analyser 中Compare 一下,并且import the new static tables and description tables。

执行完毕之后

Clear cache in typo3conf!

最后在install update 里面检查一下兼容性之类的问题。基本上就成功了!

 

2007年06月06日

提前安装autoalias插件,就方便多了

在setup里面添加这些代码

#config.simulateStaticDocuments = 1
config.simulateStaticDocuments = 0
config.baseURL = 1
#加上baseurl这一行,免得css丢失了页面难看
config.baseURL = http://www.getting-rich-online.com/
config.tx_realurl_enable = 1
plugin.tt_news {
   dontUseBackPid = 1
   useHRDates = 1
}

修改.htaccess,添加一下代码

RewriteEngine On
RewriteRule ^typo3$ – [L]
RewriteRule ^typo3/.*$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

修改localconf.php,添加以下代码

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    ‘_DEFAULT’ => array(
        ‘init’ => array(
            ‘enableCHashCache’ => 1,
            ‘appendMissingSlash’ => ‘ifNotFile’,
            ‘enableUrlDecodeCache’ => 1,
            ‘enableUrlEncodeCache’ => 1,
        ),
        ‘redirects’ => array(),
        ‘preVars’ => array(
            array(
                ‘GETvar’ => ‘no_cache’,
                ‘valueMap’ => array(
                    ‘nc’ => 1,
                ),
                ‘noMatch’ => ‘bypass’,
            ),
            array(
                ‘GETvar’ => ‘L’,
                ‘valueMap’ => array(
                    ‘chinese’ => ‘1′,
                ),
                ‘noMatch’ => ‘bypass’,
            ),
        ),
        ‘pagePath’ => array(
            ‘type’ => ‘user’,
            ‘userFunc’ => ‘EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main’,
            ’spaceCharacter’ => ‘-’,
            ‘languageGetVar’ => ‘L’,
            ‘expireDays’ => 7,
###### include your rootpage id here
            ‘rootpage_id’ => 1,
        ),
        ‘fixedPostVars’ => array(),
        ‘postVarSets’ => array(
            ‘_DEFAULT’ => array(
                // news archive parameters
                ‘archive’ => array(
                    array(
                        ‘GETvar’ => ‘tx_ttnews[year]‘ ,
                        ),
                    array(
                        ‘GETvar’ => ‘tx_ttnews[month]‘ ,
                        ‘valueMap’ => array(
                            ‘january’ => ‘01′,
                            ‘february’ => ‘02′,
                            ‘march’ => ‘03′,
                            ‘april’ => ‘04′,
                            ‘may’ => ‘05′,
                            ‘june’ => ‘06′,
                            ‘july’ => ‘07′,
                            ‘august’ => ‘08′,
                            ’september’ => ‘09′,
                            ‘october’ => ‘10′,
                            ‘november’ => ‘11′,
                            ‘december’ => ‘12′,
                            )
                        ),
                    ),
                // news pagebrowser
                ‘browse’ => array(
                    array(
                        ‘GETvar’ => ‘tx_ttnews[pointer]‘,
                        ),
                    ),
                // news categories
                ’select_category’ => array (
                    array(
                        ‘GETvar’ => ‘tx_ttnews[cat]‘,
                        ),
                    ),
                // news articles and searchwords
                ‘article’ => array(
                    array(
                        ‘GETvar’ => ‘tx_ttnews[tt_news]‘,
                        ‘lookUpTable’ => array(
                            ‘table’ => ‘tt_news’,
                            ‘id_field’ => ‘uid’,
                            ‘alias_field’ => ‘title’,
                            ‘addWhereClause’ => ‘ AND NOT deleted’,
                            ‘useUniqueCache’ => 1,
                            ‘useUniqueCache_conf’ => array(
                                ’strtolower’ => 1,
                                ’spaceCharacter’ => ‘-’,
                                ),
                            ),
                        ),
                    array(
                        ‘GETvar’ => ‘tx_ttnews[swords]‘,
                        ),
                    ),
                ),
            ),
        // configure filenames for different pagetypes
        ‘fileName’ => array(
            ‘index’ => array(
                ‘rss.xml’ => array(
                    ‘keyValues’ => array(
                        ‘type’ => 100,
                    ),
                ),
                ‘rss091.xml’ => array(
                    ‘keyValues’ => array(
                        ‘type’ => 101,
                    ),
                ),
                ‘rdf.xml’ => array(
                    ‘keyValues’ => array(
                        ‘type’ => 102,
                    ),
                ),
                ‘atom.xml’ => array(
                    ‘keyValues’ => array(
                        ‘type’ => 103,
                    ),
                ),
            ),
        ),
    ),
);

 最后效果,到这里看吧http://www.getting-rich-online.com/  tt_news部分也效果很不错

2007年05月05日

config.linkVars = L
config.sys_language_uid = 0
config.language = en
config.locale_all = English

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ch
config.locale_all = Chinese

# set chinese date & time formats

plugin.tt_news {
  archiveTitleCObject {
    10.strftime = %B – %Y
  }
  getRelatedCObject {
      20.strftime = %d.%m.%Y %H:%M
  }
  displaySingle {
    date_stdWrap.strftime= %y.%m.%d
    time_stdWrap.strftime= %H:%M
    age_stdWrap.age =  分钟 | 小时 | 天 | 年
  }
  displayLatest {
    date_stdWrap.strftime= %d.%m.%y
    time_stdWrap.strftime= %H:%M
  }
  displayList {
    date_stdWrap.strftime= %A %d. %B %Y
    time_stdWrap.strftime= %y.%m.%d %H:%M
  }
}

[global]

 

如果以文件方式引用,需要注意文件存储编码必须是utf-8,否则乱码

temp.MenuStatic = HMENU
temp.MenuStatic.special=list
temp.MenuStatic.special.value = 1,12,13,14
temp.MenuStatic {

  1 = TMENU
  1.wrap = <ul>|</ul>
  1{

    noBlur=1
    expAll = 1
    NO{
      wrapItemAndSub = <li>|</li>
      ATagTitle.field = description // title
    }

    ACT=1
    ACT{
      wrapItemAndSub = <li>|</li>
      ATagParams = class = "nohref selected"
      ATagTitle.field = description // title
    }

}
}

完毕之后还需要subparts.MENU_STATIC=temp.MenuStatic

MENU_STATIC在模板中需要以

 

      <!– ###MENU_STATIC### Start –>
  <ul>
         <li><a href="#">Home</a></li>
         <li><a href="#">About</a></li>
          <li><a href="#">Contact</a></li>                  
          <li><a href="#">Sitemap</a></li>
        </ul>
      <!– ###MENU_STATIC### Stop –>

 

的形式出现

install —-all configuation—- forcecharset=utf-8

1、定义website language,名字可以随便起,记住iD就好了,一般默认是英语L =0

2、设定多语言配置,这些代码到处都可以找到

类似

config.linkVars = L
config.sys_language_overlay = content_fallback
config.sys_language_uid = 0
config.language = en
config.locale_all = English

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ch
config.locale_all = Chinese

 

3、为每一个页面都增加一个Alternative Page Language ,使得后台的翻译可以进行,为每一个语言都建立一个alternative page language。(如果不做这一步,那么第四步的图片选择就会出问题)

4、在页面添加多语言图片选择链接,可一步到位的使用tt_news提供的tt_news_languagemenu.php.php进行操作,这样新闻扩展和其他扩展都可以支持多语言了

代码如下:

定义页面的时候加入

   page.includeLibs.multilanguage = fileadmin/tt_news_languageMenu.php

定义模版的时候加入

   subparts.SPRACHE = USER
   subparts.SPRACHE.userFunc = user_languageMenu

5、另外如果设定好模板的编码为utf-8,typoscript文件或者模版尽量以utf-8方式保存

6、如果需要中文话,可以逐个汉化自己的扩展语言文件,这个就不多讲了,另外的问题

 

 

2006年11月06日

本文翻译自http://wiki.typo3.org/index.php/Extension_Development#Development_Mini-HOWTO

开发前的准备:

使用php手册PHP Manual.

下载一个php开发环境

使用类似fabFORCE DBDesigner4 的工具,设计数据库并画出关联关系

文档

Image:ExtDevEvalLinks.png