Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Typo3 V6:Cách tạo vùng chứa phần tử nội dung? (không có TV)

Tôi là tác giả của bộ phần mở rộng Fluid (thông lượng, chất lỏng, trang chất lỏng, v.v.) và tất nhiên muốn giúp bạn tìm hiểu về cách sử dụng FluidContent để tạo FCE. Nó thực sự không cao cấp như người ta có thể lo sợ. Ít nhất, nó nhỏ gọn hơn nhiều so với ví dụ trên. Điều sau đạt được kết quả tương tự như ví dụ của bạn, trong FluidContent:

TypoScript (tải tĩnh:css_styled_content, chất lỏng_content)

plugin.tx_fed.fce.yourname {
    templateRootPath = fileadmin/Templates # if you don't want to use an extension (1)
    # partial and layout root paths not defined (2)
}

Về (1) bạn thực sự, thực sự nên. Việc sử dụng tiện ích mở rộng sẽ tách phương tiện do người dùng tải lên, v.v. khỏi nội dung trang web của bạn. Thay vào đó, nếu bạn làm điều đó, chỉ cần sử dụng đường dẫn EXT:... đến thư mục Tài nguyên riêng. Và liên quan đến (2) các đường dẫn này chỉ cần thiết nếu bạn thực sự muốn sử dụng các part of.

Sau đó, chính tệp mẫu (tự động phát hiện khi đường dẫn nơi tệp được đặt được thêm vào TS):

{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
    <flux:flexform id="columns" label="Columns" icon="path/to/iconfile.jpg">
        <flux:flexform.grid>
            <flux:flexform.grid.row>
                <flux:flexform.grid.column>
                    <flux:flexform.content name="left" label="Left content" />
                </flux:flexform.grid.column>
                <flux:flexform.grid.column>
                    <flux:flexform.content name="right" label="Right content" />
                </flux:flexform.grid.column>
            </flux:flexform.grid.row>
        </flux:flexform.grid>
    </flux:flexform>
</f:section>
<f:section name="Preview">
    <flux:widget.grid />
</f:section>
<f:section name="Main">
    <div class="row">
        <div class="span6">
            <flux:flexform.renderContent area="left" />
        </div>
        <div class="span6">
            <flux:flexform.renderContent area="right" />
        </div>
    </div>
</f:section>

Như bạn có thể thấy, bạn hoàn toàn có thể tự do thêm bất kỳ HTML nào bạn muốn, sử dụng bất kỳ ViewHelpers nào (thậm chí hiển thị các đối tượng TS nếu đó là thứ của bạn). Để thêm các phần tử nội dung bổ sung, chỉ cần thêm các tệp mẫu mới - chúng sẽ tự động được nhận dạng.

Nhưng nó sẽ hoạt động khác với IRRE (bạn cũng có thể đạt được bằng cách sử dụng các trường Flux - hãy cho tôi biết nếu bạn muốn xem bản trình diễn về điều đó):bạn sẽ sử dụng thao tác kéo-n-thả gốc trong TYPO3 để đặt các phần tử nội dung con của bạn vào các vùng chứa nội dung thực tế - như bạn đã từng làm với TV.

Do đó, Nội dung linh hoạt có lẽ là thứ gần gũi nhất mà bạn đến với TV.

Về việc Flux hoạt động quá mức cần thiết, tôi muốn cung cấp cho bạn ý tưởng về những gì nó thực sự hoạt động:

  • Đọc TS được lưu trong bộ nhớ cache để biết đường dẫn
  • Danh sách lưu trong bộ nhớ cache các mẫu đã phát hiện
  • Bộ nhớ cache linh hoạt cho PHP gốc, Flux chỉ sử dụng Fluid để lưu trữ cấu hình (có nghĩa là nó hoàn toàn là PHP gốc)
  • Bản thân Flux thực hiện đăng ký một người đăng ký hook phản ứng với nội dung đang được lưu, điều này làm chậm phần phụ trợ (không đáng chú ý)
  • Bản thân Flux không tạo ra tải trên FE với một ngoại lệ:khi ở trong các plugin chưa được lưu trữ (FluidContent được lưu trong bộ nhớ cache!) Flux có thể gọi mã được lưu trong bộ nhớ cache PHP gốc để đọc cấu hình.
  • FluidContent bao gồm một bộ điều khiển cực kỳ đơn giản; đầu ra được lưu vào bộ nhớ đệm đầy đủ.
  • Bạn có thể muốn thêm bộ sưu tập VHS ViewHelper - tự nó tạo ra hoàn toàn không tải:nó chỉ sử dụng các tài nguyên mà bạn sử dụng ViewHelper của nó. Nó chứa một đống ViewHelpers, tôi chắc rằng bạn sẽ thấy hữu ích.

Thoạt nhìn có vẻ choáng ngợp nhưng tôi đảm bảo rằng bạn có thể biết và nhớ ít hơn so với các plugin pibase, FlexForm XML, TS hoặc các plugin Extbase gốc. Nếu bạn muốn có thêm một mạng lưới an toàn, tôi thực sự khuyên bạn nên sử dụng lược đồ XSD trong trình soạn thảo của mình - điều này giúp bạn tự động hoàn thành <flux:....> đặc biệt và các thẻ khác.

Tuy nhiên:nó sẽ yêu cầu bạn tìm hiểu một chút về logic của Fluid:Bố cục và Phân vùng là gì (rất có thể bạn sẽ muốn sử dụng chúng tại một số thời điểm) và cách sử dụng các thẻ đặc biệt và tham chiếu đến các biến (sẽ được yêu cầu trong các trường hợp sử dụng khác - nhưng không phải trường hợp sử dụng; nó chỉ yêu cầu các thẻ ViewHelper đơn giản).

Tôi hi vọng cái này giúp được. Và tôi đã giảm bớt nỗi sợ của bạn rằng Flux quá mức cần thiết và quá nhiều thứ để học;)

Chúc mừng,
Claus aka. NamelessCoder



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Datetime trong PHP Script

  2. CHỌN / NHÓM THEO - phân đoạn thời gian (10 giây, 30 giây, v.v.)

  3. tomcat7 - jdbc datasource - Điều này rất có thể tạo ra rò rỉ bộ nhớ

  4. Sử dụng truy vấn một hàng với MySQL và PHP

  5. Đang điền danh sách thả xuống - PHP Ajax MySQL