brandcom/silverstripe-softgarden 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

brandcom/silverstripe-softgarden

Composer 安装命令:

composer require brandcom/silverstripe-softgarden

包简介

README 文档

README

Install

composer require brandcom/silverstripe-softgarden:dev-ss4

Implementierung

  • Vorbereitung:
    • BaseElement.php Datei im Projekt unter app/src/BaseElements vorhanden? (Sonst aus Silverstripe Starter kopieren. Grundsätzlich muss im Projekt Silverstripe-Elemental installiert sein)
    • API Key bei Softgarden ermitteln
    • ChannelID ermitteln (Über Fetch Request)
    • .env im Projekt mit Variablen befüllen
  • Plugin installieren: composer require brandcom/silverstripe-softgarden:dev-ss4
  • Dev build flush
  • Im Admin Bereich sollten sich nun zwei neue Modal Admins befinden. (Job-Import & Job-Benefits)
  • Nun im Modal Admin „Job-Benefits“ ein Default Benefit hinterlegen mit Name „standard“ und Icon welches sich als Standard Icon eignet
  • In das Modal Admin Job-Import wechseln und die Jobs manuell importieren über Button „Stellenanzeigen IMORTIEREN“ (Wenn keine Jobs erscheinen, prüfen ob in Softgarden Stellenausschreibungen vorhanden sind)
  • Um die Jobs als Übersicht anzuzeigen, an beliebiger Stelle das BaseElement „Softgarden Job Übersicht“ einsetzen und eine Headline vergeben.
  • Eine neue Seite vom Typ „Softgarden Job Detail Page“ anlegen. Die Seite muss „Jobdetails“ heißen.
  • Bei den Einstellungen der Jobdetails Seite den Haken für Menü & Suche anzeigen entfernen.
  • Es sollte ein Header verfügbar sein. Darüber kann ein Standard Bild für den Job hinterlegt werden. -Im Header-Image-Textfeld folgendes über den Tiny HTML Editor hinterlegen:
    <div>
        <h1><span id="softgarden__job_name_label" class="h1">Jobbezeichnung</span></h1>
        <h2><span id="softgarden__job_infos_label" class="h4">Infos:</span></h2>
    </div>
    

.ENV Variablen

#Softgarden API

SOFTGARDEN_API_KEY='ClientId'

SOFTGARDEN_API_Password='' # Kann leer bleiben, da basic auth

SOFTGARDEN_API_CHANNEL_ID='channelID'

SOFTGARDEN_AUTO_BUILDTASK_TOKEN='' # Für Cronjobs - hier kann ein token hinterlegt werden. Beispiel: BaseUrl/jobdetails/jobAutoImport?token={TOKEN}

API Fetch auslösen -WIP

Momentan unter der URL "BASEURL/dev/tasks/JobImportBuildTask"

Im Projekt Backend

Jobs auf Seite anzeigen

Um vorhandene Jobs anzuzeigen, setzt man an beliebiger Stelle das BaseElement "Softgarden Job Übersicht" ein. Hier kann noch eine Überschrift gepflegt werden.

Jobs auf Detailseite anzeigen

Es muss eine Seite mit dem Namen "Jobdetails" vom Typ "Softgarden Job Detail Page" eingerichtet werden. In den Einstellungen den Haken bei Sichtbarkeit (Menü und Suche) entfernen. Auf der Jobdetails Seite unter dem Punkt Header ein geeignetes Bild wählen. Das Bild muss zu jedem Beruf passen, da hier kein individuelles Bild ausgespielt wird.

NEU

Benefits limitieren

  • Die auf der Detailseite angezeigten Benefits sind nun limitierbar.
  • Auf der Jobdetails Page befindet sich hierfür folgendes Eingabefeld "Maximale Anzahl der Benefits".
  • Wird nichts eingetragen, werden alle ausgegeben.
  • Es wird eine dynamische Überschrift mit der Anzahl der Benefits angezeigt z.B. "DEINE TOP 3 BENEFITS BEI UNS"

Standort Filter für das Softgarden Job Base Element

  • Im Base-Element "Softgarden-Job-Base-Element" kann ein Standortfilter aktiviert werden.
  • Es wird extra JS Code benötigt, welcher in das Projekt eingebunden werden muss.

In App.js

import { filter_jobs } from "./js/SoftgardenBaseElementFilter";

...

filter_jobs();

In erstellter Datei SoftgardenBaseElementFilter.js


export function filter_jobs() {

    const softgardenBaseElem = document.querySelectorAll(".bc-softgarden__job-base-element");
    
    if (softgardenBaseElem.length > 0) {
        const filterTriggers = document.querySelectorAll('.bc-softgarden__job-base-element-dropdown-locations');
    
        filterTriggers.forEach((filterTrigger) => {
            filterTrigger.addEventListener('change', () => { 
                const jobElements = document.querySelectorAll(".bc-softgarden__job-base-element-overlay-job");
                    jobElements.forEach((jobElement) => {
                        if (filterTrigger.value === "empty") {
                            jobElement.style.display = "flex";
                        } else {
                            const CityData = jobElement.getAttribute("data-location");
                            if (CityData === filterTrigger.value) {
                                jobElement.style.display = "flex";
                            } else {
                                jobElement.style.display = "none";
                            }
                        }
                    });
                    //* Set all location filter values to selected location
                    const all_location_filter = document.querySelectorAll(".bc-softgarden__job-base-element-dropdown-locations");
                    all_location_filter.forEach((location_filter) => {
                        location_filter.value = filterTrigger.value ;
                    });
            })
        })
    }
}

Sonderfall mehrere API Keys pro Seite

Sollten mehrere API Keys pro Seite vorhanden sein, müssen diese in der .env durchnummeriert werden.

SOFTGARDEN_API_KEY1='KEY1'

SOFTGARDEN_API_KEY2='KEY2'

SOFTGARDEN_API_CHANNEL_ID1='ID1'

SOFTGARDEN_API_CHANNEL_ID2='ID2'

brandcom/silverstripe-softgarden 适用场景与选型建议

brandcom/silverstripe-softgarden 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 275 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 brandcom/silverstripe-softgarden 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 brandcom/silverstripe-softgarden 我们能提供哪些服务?
定制开发 / 二次开发

基于 brandcom/silverstripe-softgarden 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 275
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2023-12-05