הגדרת סימן מים לתמונות מוצר ב-1C-Bitrix
כל יום, בעלי חנויות מקוונות מאבדים תנועה כי מתחרים מעתיקים תמונות מוצר. סימן מים הוא קו ההגנה הראשון, ואנחנו מגדירים אותו בפלטפורמת 1C-Bitrix. המהנדסים שלנו, עם ניסיון של למעלה מעשור בייצור ב-Bitrix (10+ שנים, 50+ פרויקטים מוצלחים), פותרים זאת מקצה לקצה: מהמנגנון המובנה ועד לעיבוד GD מותאם אישית. אנו משלבים סימני מים כך שלא יפגעו בחוויית המשתמש או יאטו את האתר.
הגדרות אופטימליות לסימן מים: אטימות של 70–80%, גודל של לא יותר מ-5% מרוחב התמונה. כל קובץ שנוצר מותאם ל-CDN. עבור 10,000 תמונות, העיבוד אורך 15–30 דקות ללא השבתת האתר. תקציב פרויקט טיפוסי מתחיל מ-$200.
מאמר זה מכסה כיצד פועל מנוע סימני המים המובנה ב-Bitrix, מתי יש צורך בעיבוד GD מותאם אישית, וכיצד להגדיר מטמון כראוי. אם אתם זקוקים לפתרון מוכן, צרו קשר — נעריך את הפרויקט שלכם ונציע לוחות זמנים של 2 עד 5 ימים בהתאם למורכבות.
הגנה על תמונות מוצר מהעתקה
מתחרים מורידים תמונות קטלוג ומשתמשים בהן מחדש. זה קורה בדיוק בגלל שתמונות חסרות מזהה חנות. סימן מים הוא הגנה מינימלית אך משמש כמחסום נגד העתקה עצלנית. לפי התיעוד הרשמי של Bitrix, ניתן להחיל סימני מים דרך הגדרות המודול הראשי.
עיבוד תמונות ב-Bitrix
כל התמונות ב-Bitrix עוברות דרך מודול main, מחלקה CFile. שינוי גודל והמרה מתרחשים בעת קריאה ל-CFile::ResizeImageGet() או בעת יצירת תמונות ממוזערות דרך רכיבים. קבצים שעברו עיבוד פיזית נשמרים במטמון ב-/upload/resize_cache/.
סימן המים אינו מובנה ב-CFile הסטנדרטי. Bitrix מספקת מחלקה \Bitrix\Main\Diag\Image ו-wrapper \Bitrix\Main\IO\File, אך עיבוד סימני מים מיושם בפונקציונליות נפרדת — דרך הגדרות מודול main בלוח הניהול.
הגדרת סימני מים מובנים
בלוח הניהול (/bitrix/admin/settings.php?lang=ru&mid=main), יש קטע "סימני מים". הפרמטרים נשמרים ב-b_option עם מודול main:
-
use_watermark_text— שימוש בטקסט כסימן מים -
use_watermark_image— שימוש בתמונה -
watermark_text— טקסט סימן המים -
watermark_text_color— צבע בפורמט R,G,B -
watermark_text_size— גודל גופן -
watermark_position— מיקום (TL, TC, TR, CL, CC, CR, BL, BC, BR) -
watermark_image_path— נתיב לקובץ התמונה עבור סימן המים -
watermark_image_alpha— אטימות (0–100)
המנגנון המובנה מחיל סימן מים בעת קריאה ל-CFile::ResizeImageGet() עם הפרמטר $bUseWatermark = true. רכיב bitrix:catalog.element אינו מעביר פרמטר זה כברירת מחדל — יש לציין אותו במפורש בפרמטרי הרכיב או בתבנית.
שלבים להגדרת סימני מים מובנים:
- עברו להגדרות → הגדרות מודול → ראשי.
- גללו לקטע "סימני מים".
- הפעילו סימן מים (טקסט או תמונה) והגדירו פרמטרים.
- שמרו הגדרות — הן נשמרות ב-
function applyWatermark(string $sourcePath, string $outputPath): void { $info = getimagesize($sourcePath); $src = match($info[2]) { IMAGETYPE_JPEG => imagecreatefromjpeg($sourcePath), IMAGETYPE_PNG => imagecreatefrompng($sourcePath), IMAGETYPE_WEBP => imagecreatefromwebp($sourcePath), default => throw new \RuntimeException('Unsupported format'), }; $wmPath = $_SERVER['DOCUMENT_ROOT'] . '/local/watermark.png'; $wm = imagecreatefrompng($wmPath); $srcW = imagesx($src); $srcH = imagesy($src); $wmW = imagesx($wm); $wmH = imagesy($wm); // Позиция: правый нижний угол с отступом 10px $destX = $srcW - $wmW - 10; $destY = $srcH - $wmH - 10; imagecopy($src, $wm, $destX, $destY, 0, 0, $wmW, $wmH); match($info[2]) { IMAGETYPE_JPEG => imagejpeg($src, $outputPath, 90), IMAGETYPE_PNG => imagepng($src, $outputPath), IMAGETYPE_WEBP => imagewebp($src, $outputPath, 85), }; imagedestroy($src); imagedestroy($wm); }. - בתבנית הרכיב שלכם, הגדירו
/upload/watermarked/{$fileId}/לפני קריאה ל-b_file.
קודי מיקום סימן מים:
| קוד מיקום | תיאור |
|---|---|
| TL | צד שמאל עליון |
| TC | מרכז עליון |
| TR | צד ימין עליון |
| CL | מרכז שמאל |
| CC | מרכז |
| CR | מרכז ימין |
| BL | צד שמאל תחתון |
| BC | מרכז תחתון |
| BR | צד ימין תחתון |
מתי להשתמש בשכבת GD פרוגרמטית?
למיקום לא סטנדרטי או לתוכן דינמי של סימן מים (למשל, מחיר, תאריך), נעשה שימוש בעבודה ישירה עם GD. שכבת GD פרוגרמטית מציעה גמישות מיקום גדולה פי 5 מהמודול הראשי המובנה (מיקומים בלתי מוגבלים לעומת 9).
function applyWatermark(string $sourcePath, string $outputPath): void { $info = getimagesize($sourcePath); $src = match($info[2]) { IMAGETYPE_JPEG => imagecreatefromjpeg($sourcePath), IMAGETYPE_PNG => imagecreatefrompng($sourcePath), IMAGETYPE_WEBP => imagecreatefromwebp($sourcePath), default => throw new \RuntimeException('Unsupported format'), }; $wmPath = $_SERVER['DOCUMENT_ROOT'] . '/local/watermark.png'; $wm = imagecreatefrompng($wmPath); $srcW = imagesx($src); $srcH = imagesy($src); $wmW = imagesx($wm); $wmH = imagesy($wm); // Позиция: правый нижний угол с отступом 10px $destX = $srcW - $wmW - 10; $destY = $srcH - $wmH - 10; imagecopy($src, $wm, $destX, $destY, 0, 0, $wmW, $wmH); match($info[2]) { IMAGETYPE_JPEG => imagejpeg($src, $outputPath, 90), IMAGETYPE_PNG => imagepng($src, $outputPath), IMAGETYPE_WEBP => imagewebp($src, $outputPath, 85), }; imagedestroy($src); imagedestroy($wm); } השיטה הפרוגרמטית נותנת יותר שליטה: ניתן להניח טקסט עם תאריך, לעבד רק קטגוריות מוצר מסוימות, או לשנות אטימות בהתאם לבהירות הרקע. עם זאת, היא דורשת משאבי שרת — לעיבוד המוני, השתמשו בסוכנים.
פרטי מטמון מתקדמים
המטמון נעשה באמצעות hash של פרמטרי סימן המים. לעיבוד המוני, השתמשו בסוכן שעובר על `b_file` לפי `MODULE_ID = 'iblock'` ומעבד קבצים בקבוצות של 50–100. על 10,000 תמונות בגודל ממוצע של 200 KB, העיבוד אורך 15–30 דקות על שרת רגיל.חשיבות מטמון סימן המים
אין להחיל את סימן המים על כל בקשה. התמונה המעובדת נשמרת במטמון ב-MODULE_ID = 'iblock' עם שם קובץ הכולל hash של פרמטרי סימן המים. כאשר הלוגו או המיקום משתנים, ה-hash משתנה, והמטמון מתבטל אוטומטית.
השוואת שיטות סימן מים
| פרמטר | מודול ראשי מובנה | שכבת GD פרוגרמטית |
|---|---|---|
| קלות הגדרה | גבוהה | בינונית |
| גמישות מיקום | 9 אפשרויות | בלתי מוגבלת (פי 5 יותר) |
| תמיכה בטקסט דינמי | לא | כן |
| עומס על השרת | מינימלי | בינוני (AGI) |
מגבלות הגנת סימן מים
סימן מים הוא רק אלמנט אחד של הגנה. הוא אינו מונע צילומי מסך או העתקה ידנית. להגנה מלאה, אנו ממליצים לשלב סימני מים עם איסור אינדוקס תמונות ב-robots.txt, הגנה מפני hotlink, ו-BlurHash לתצוגות מקדימות. המומחים המוסמכים שלנו ב-Bitrix (10+ שנות ניסיון) יכולים ליישם פתרון מקיף — צרו קשר לייעוץ. תוצאות מובטחות במסגרת לוח הזמנים המוצע.
מה כלול בהגדרת סימן מים?
- הגדרת פרמטרי סימן מים מובנים ב-
b_optionעבור מודולmain - העברת דגל
bUseWatermarkברכיבי קטלוג - פונקציית שכבת GD מותאמת אישית לדרישות לא סטנדרטיות
- תיקיית מטמון
/upload/watermarked/עם הרשאות נכונות - סוכן לעיבוד אצווה של תמונות קיימות
- החרגת קטגוריות או מותגים מסוימים מסימני מים
- תיעוד המסביר את ההגדרה והתחזוקה
- גישת ניהול לקטעים הרלוונטיים
- חומרי הדרכה לצוות שלכם
- 30 ימי תמיכה לאחר ההתקנה
הזמינו הגדרת סימן מים — קבלו ייעוץ חינם על הפרויקט שלכם תוך שעה. למהנדסים שלנו ניסיון רב בפיתוח Bitrix, עם 50+ מקרי הגנת תוכן מוצלחים. השקעה טיפוסית מתחילה מ-$200.







