Skip to content

rich_editor to field #231

@ghost

Description

Hi,

Hope you are all well !

I would like to create a small cms and creating blocks of html content like medium.com. For doing that I need to use the rich editor for the sub-blocks in the admin form.
Screenshot 2020-08-07 at 13 47 59

How can I apply the rich_editor meta to additional blocks like in the screenshot ?

Please find below my test code.

package main

import (
	"fmt"
	"net/http"

	"github.com/jinzhu/gorm"
	_ "github.com/mattn/go-sqlite3"
	"github.com/qor/admin"
	"github.com/qor/media/media_library"
	"github.com/qor/publish2"
	qor_seo "github.com/qor/seo"
	"github.com/qor/slug"
)

type User struct {
	gorm.Model
	Username string
	Email    string
	Disabled bool
}

type Page struct {
	gorm.Model
	User          User
	UserID        uint
	Title         string `gorm:"type:mediumtext; CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" sql:"type:mediumtext"`
	Content       string `gorm:"type:longtext; CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" sql:"type:longtext"`
	TitleWithSlug slug.Slug
	Blocks        []Block
	Media         media_library.MediaLibrary
	publish2.Version
	publish2.Schedule
	publish2.Visible
	Seo qor_seo.Setting
}

type Block struct {
	gorm.Model
	PageID      uint
	Title       string `gorm:"type:mediumtext; CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" sql:"type:mediumtext"`
	Description string `gorm:"type:longtext; CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" sql:"type:longtext"`
	Media       media_library.MediaLibrary
}

func main() {
	DB, _ := gorm.Open("sqlite3", "cms.db")
	DB.AutoMigrate(&User{})
	DB.AutoMigrate(&Page{})
	DB.AutoMigrate(&Block{})

	// Initialize
	Admin := admin.New(&admin.AdminConfig{DB: DB})

	// Allow to use Admin to manage User, Product
	Admin.AddResource(&User{})
	page := Admin.AddResource(&Page{})
	page.Meta(&admin.Meta{
		Name: "Content",
		Type: "rich_editor",
	})

	// initalize an HTTP request multiplexer
	mux := http.NewServeMux()

	// Mount admin interface to mux
	Admin.MountTo("/admin", mux)

	fmt.Println("Listening on: 9000")
	http.ListenAndServe(":9000", mux)
}

Thanks in advance for your help and insights about that.

Cheers,
X

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions