PHPackages                             se7enxweb/expfckeditorhtmlblock - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. se7enxweb/expfckeditorhtmlblock

ActiveEzpublish-legacy-extension[Utility &amp; Helpers](/categories/utility)

se7enxweb/expfckeditorhtmlblock
===============================

Add Simple To Use HTML Block With HTML Editor Toolbar capabilities to Exponential

1.4.0(3w ago)10GPL-2.0-or-laterJavaScript

Since May 19Pushed 3w agoCompare

[ Source](https://github.com/se7enxweb/expfckeditorhtmlblock)[ Packagist](https://packagist.org/packages/se7enxweb/expfckeditorhtmlblock)[ Fund](https://account.venmo.com/u/se7enxweb)[ Fund](https://cash.app/$7xweb)[ RSS](/packages/se7enxweb-expfckeditorhtmlblock/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

expfckeditorhtmlblock — FCKeditor HTML Block Datatype
=====================================================

[](#expfckeditorhtmlblock--fckeditor-html-block-datatype)

An eZ Publish extension that replaces the standard HTML text area with a full FCKeditor 2.x WYSIWYG rich-text editor for the `ezhtml` datatype.

Originally based on SmileFCKeditor by Smile (2006). Maintained and updated for PHP 8 compatibility and modern browser support.

---

Features
--------

[](#features)

- Replaces plain `` inputs with an embedded FCKeditor 2 instance
- Configurable toolbar sets via `fckeditor/fckconfig.js`
- Two optional eZ Publish content-browser plugins:
    - **expeZlink** — browse and insert links to eZ Publish content objects
    - **expeZimage** — browse and insert images from the eZ Publish media library
- Template operator `explinktomedia` converts `expobject://` URIs into resolved links at render time
- Media browser with list, detailed, and thumbnail views
- Full WYSIWYG editing including tables, lists, colours, special characters, page breaks, and smileys
- Source view toggle for direct HTML editing

---

Requirements
------------

[](#requirements)

- eZ Publish 4.x / Exponential CMS
- PHP 7.4 or 8.x
- JavaScript enabled in the browser
- Apache `mod_rewrite` or nginx equivalent

---

Installation
------------

[](#installation)

### 1. Place the extension

[](#1-place-the-extension)

Copy or symlink the `expfckeditorhtmlblock` directory into your eZ Publish `extension/` folder.

### 2. Add rewrite rules

[](#2-add-rewrite-rules)

Add the following lines to your `.htaccess` (or nginx equivalent) **before**the catch-all `RewriteRule .* index.php` line:

```
RewriteRule ^extension/expfckeditorhtmlblock/javascript/.* - [L]
RewriteRule ^extension/[^/]+/fckeditor/.* - [L]
```

### 3. Enable the extension

[](#3-enable-the-extension)

Either via the back-office (**Setup → Extensions**) or by adding to your `settings/override/site.ini.append.php`:

```
[ExtensionSettings]
ActiveExtensions[]=expfckeditorhtmlblock
```

### 4. Clear caches

[](#4-clear-caches)

Clear both eZ Publish caches and your browser cache after installation:

```
php bin/php/ezcache.php --clear-all
```

---

Configuration
-------------

[](#configuration)

### Toolbar

[](#toolbar)

Edit `fckeditor/fckconfig.js` and modify the `FCKConfig.ToolbarSets["Default"]`array to enable or reorder toolbar buttons.

### Optional content-browser plugins

[](#optional-content-browser-plugins)

Uncomment the relevant lines in `fckeditor/fckconfig.js`:

```
FCKConfig.Plugins.Add('expeZlink');   // Insert links to eZ Publish content
FCKConfig.Plugins.Add('expeZimage');  // Insert images from eZ Publish media
```

### Custom configuration file per template

[](#custom-configuration-file-per-template)

In `design/standard/templates/content/datatype/edit/ezhtml.tpl`, the config path can be made conditional:

```
{if }
  oFCKeditor{$attribute.id}.Config["CustomConfigurationsPath"] = "{ezsys('wwwdir')}/extension/expfckeditorhtmlblock/fckeditor/fckconfig1.js";
{else}
  oFCKeditor{$attribute.id}.Config["CustomConfigurationsPath"] = "{ezsys('wwwdir')}/extension/expfckeditorhtmlblock/fckeditor/fckconfig2.js";
{/if}
```

---

Internal URL scheme
-------------------

[](#internal-url-scheme)

The `explinktomedia` template operator resolves internal object references of the form `expobject://` into full URLs at render time. These are generated by the content browser and stored in the HTML content.

---

File structure
--------------

[](#file-structure)

```
expfckeditorhtmlblock/
├── autoloads/
│   ├── eztemplateautoload.php      Template operator registration
│   ├── explinktomedia.php          explinktomedia operator (resolves expobject:// URIs)
│   └── stringoperators.php         Additional string template operators
├── datatypes/
│   └── ezhtml/
│       └── ezhtmltype.php          eZDataType subclass for the ezhtml field
├── design/
│   ├── admin/templates/
│   │   └── expfckeditorhtmlblock/
│   │       └── insertlink.tpl      Link insertion dialog template
│   └── standard/templates/
│       ├── content/datatype/
│       │   ├── edit/ezhtml.tpl     Edit-mode template (loads FCKeditor)
│       │   ├── view/ezhtml.tpl     View-mode template
│       │   └── pdf/ezhtml.tpl      PDF output template
│       ├── class/datatype/
│       │   ├── edit/ezhtml.tpl     Class attribute edit template
│       │   └── view/ezhtml.tpl     Class attribute view template
│       ├── mediabrowser_full_detailed.tpl
│       ├── mediabrowser_full_list.tpl
│       ├── mediabrowser_full_thumbnail.tpl
│       └── pagelayout_mediabrowser.tpl
├── fckeditor/                       FCKeditor 2 core (vendored)
│   ├── fckconfig.js                 Main FCKeditor configuration
│   ├── fckeditor.js                 FCKeditor loader
│   └── editor/                     Editor UI, dialogs, plugins, skins
├── javascript/
│   └── mediabrowser.js             Media browser JS
├── modules/
│   └── expfckeditorhtmlblock/      eZ Publish module (insertlink view)
│       ├── module.php
│       ├── function_definition.php
│       ├── functions.php
│       ├── insertlink.php
│       └── classes/
│           ├── expfckeditordb.php
│           └── expfckeditorfunctioncollection.php
├── settings/
│   ├── content.ini.append.php
│   ├── design.ini.append.php
│   ├── module.ini.append.php
│   └── site.ini.append.php
└── README.md

```

---

Upgrading from smilefckeditor
-----------------------------

[](#upgrading-from-smilefckeditor)

If upgrading from the original `smilefckeditor` extension:

1. The extension directory must be renamed from `smilefckeditor` to `expfckeditorhtmlblock` (or symlinked).
2. All stored content using `smileobject://` URIs must be migrated to `expobject://` — a database search-and-replace on the `ezcontentobject_attribute``data_text` column is required.
3. Update `.htaccess` rewrite rules (see Installation § 2).
4. Update `ActiveExtensions` in your site INI settings.
5. Clear all caches.

---

License
-------

[](#license)

GNU Lesser General Public License v2 — see `fckeditor/license.txt`.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance95

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

21d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1083669?v=4)[7x](/maintainers/7x)[@7x](https://github.com/7x)

---

Top Contributors

[![brookinsconsulting](https://avatars.githubusercontent.com/u/617031?v=4)](https://github.com/brookinsconsulting "brookinsconsulting (8 commits)")[![se7enxweb](https://avatars.githubusercontent.com/u/51429274?v=4)](https://github.com/se7enxweb "se7enxweb (4 commits)")

### Embed Badge

![Health badge](/badges/se7enxweb-expfckeditorhtmlblock/health.svg)

```
[![Health](https://phpackages.com/badges/se7enxweb-expfckeditorhtmlblock/health.svg)](https://phpackages.com/packages/se7enxweb-expfckeditorhtmlblock)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
