Bewertungs Funktion erweitern - WIE?

Bei den Bewertungen kann man die Anzahl der Sterne wählen + nen Text.
Nun wäre auch interessant einen Titel zu schreiben.

Hat jemand von euch vielleicht schon ne passende Lösung?

unter service tools ausführen:

alter table oxreviews add column oxtitle varchar(255) not null;

dann in tpl eine neue eingabe feld hinzufügen:

<input type="text" name="editval[oxreviews__oxtitle]" value="">

danach die title auslesen:

[{$edit->oxreviews__oxtitle->value}]

wegen der “editval” und “$edit” muss man noch nach schauen. die variablen könnten in tpl anders heißen.

1 Like

OK.

Wie sollte denn nun der input name heißen?
Ich habe in der Datenbank OXTITLE.

Hab gesehen, dass der Name vom textarea -> rvw_txt heisst.

Wieso rvw_txt?

Steht doch oben…

Ist nur ne Abkürzung. Geschrieben wird der Wert in oxreviews__oxtext

 if (($sReviewText = trim((string) Registry::getConfig()->getRequestParameter('rvw_txt', true)))) {...
$oReview->oxreviews__oxtext = new Field($sReviewText, Field::T_RAW);

Ok.

Bei mir schaut der Code nun so aus:

[{block name="widget_reviews_form_rating"}]
                                    [{if $oView->canRate()}]
                                    <b>Titel hinzufügen</b><br />
                                    <input type="text" name="editval[oxreviews__OXTITLE]" value="" id="reviews-title" class="form-control"><br />
                                    
                                    <b>Gesamtbewertung</b>
                                        <ul id="reviewRating" class="rating list-inline">
                                            [{section name=star start=1 loop=6}]
                                                <li class="s[{$smarty.section.star.index}]" data-rate-value="[{$smarty.section.star.index}]">
                                                    <a class="ox-write-review ox-rateindex-[{$smarty.section.star.index}] text-warning" title="[{$smarty.section.star.index}] [{if $smarty.section.star.index==1}][{oxmultilang ident="STAR"}][{else}][{oxmultilang ident="STARS"}][{/if}]">
                                                        <i class="fa fa-star-o"></i>
                                                    </a>
                                                </li>
                                            [{/section}]
                                        </ul>
                                    [{/if}]
                                [{/block}]

Der Titel wird aber nicht in die Datenbank eingetragen

Ach vom Frontend. Da gibt’s kein editval. Dann musst das analog zum rvw_txt im Reviewcontroller machen:
In etwa wie folgt: Feldnamen umbenennen Bsp: rvw_ttl

$sReviewTitle = trim((string) Registry::getConfig()->getRequestParameter(‘rvw_ttl’, true));
$oReview->oxreviews__oxttitle = new Field($sReviewTitle, Field::T_RAW);

Ok, danke.
Ich lass es so sein.
Denn ich verstehe nur Bahnhof.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.